Are processes being used effectively
Lets say you are experienced, committed, motivated professional. You understand users requirement and can judge which feature are more valuable to the user and prioritise accordingly. Your coding skills are descent, you test all your work. The features you build are simple and easy to adopt. You release all your changes without causing any disruption to other systems and in-convenience to the users.
If you have all of the above attributes and capabilities, Yes - you don’t need any process. However we all know, unless you are super hero, not all of the attributes are present in an individual. And when considering these across the team there is bound to be number of gaps. These gaps brings about uncertainty. Processes bring about certain degree of order and certainty. Does this means all the teams need to follow standard set of processes for all the aspects of the project? No - processes don’t come without a cost. Process should be defined and used based on team capabilities and needs. Lets consider few scenarios as examples of choosing the right process.
Scenario : Business Value priortisation
Lets say for example the team has been working on project for few years and have good understand of the business. For this team, gathering user requirement and break down of tasks is not a challenge. However if there are more requirements than the team can handle. In this case emphasis should be on team having a process to prioritise the work based on maximising business value.
Scenario : Cross functional requirements
Assume there is a regulatory requirement for the team to deliver. The requirement impacts several systems and functionality is to be delivered in one go as per specification driven by the regulation. In this case having a process to prioritisation does not bring much value. Here cross functional team working together - testing and delivering functionality across the systems is crucial. For this team the testing and release management process are essential.
Scenario : Deep dive sessions
When team members are working in silos, having a daily stand-up are not that effective. Each members updates / impediments does not add any value to rest of the team. Instead a spoke-hub model would be more effective where the central person is giving direction and resolving issues. For the team, deep dive sessions would be more effective is spreading the knowledge.
Lean Principles for process
Following the lean principles, process should also follow the same three stages of Build, Measure and Learn.
Build: Define process that works with team capabilities and bridges the gaps. Don’t define all processes to fix all the gaps in the first attempt. Start with the area which would have the highest impact.
Measure: To make sure the process has the desired impact on the team, measure the impact. The measurement parameter will be based on what the process was designed to achieve. For example if the process was geared towards improving code quality, measure the number of new defects after a release as compared to previous releases.
Learn: As the team learns and gaps are bridged, process should be be regularly re-evaluated as to still being required, replaced, updated or new process added.
This is where light weight processes of scrum can help the team to inspect and adopt based on team capabilities and needs (gap).
Feedback
Have you experienced processes that have worked for or against your team? I am keen to know, please share your experience using comments.
Originally published on LinkedIn.