Showing lot of respect to his opinion, I sensed that he had ever increasing attrition of developers. I stopped short from even mentioning what Scrum prescribes, though he was specifically asking to implement Scrum. I didn’t want to mention dedicated teams, freeze changes during the sprint or release planning, or other practices which I practiced and value.
Rather than being interviewed myself, I began to interview him. He had projects to be delivered at Fixed scope and Fixed schedule. He was worrying that a Scrum specialist would start pushing Scrum practices causing unpredicted impact on his environment.
For his surprise, I suggested that to hold our horses and don’t think Scrum or any other tool. I suggested to implement a gradual process improvement function that would allow solving the business problem he mentioned and continuously improving his capability to respond to customer’s varying needs. He was already preoccupied about using sprints, velocity, backlogs and other artifacts of Scrum. I suggested that he might like to consider Lead Time as the primary metric driving his continuous improvement activities. I emphasized that we don’t rule out the use of Scrum or any other tool.
Based on what we would discover we can decide on what to implement, instead of just go Scrum!
Kanban based process improvement
According to Ken Schwaber, about 75% of the organizations implementing Scrum are not gaining the desired benefits because they are not able to respond to issues exposed by Scrum.
Let’s face it!
From the 45 minutes I had with this VP, I came to know the kind of issues we bound to face in his environment. He will have all right to terminate my contract as result of poor ROI from the ScrumBut implementation. Yet, he was talking that we must implement Scrum.
You can’t change the process without going further in the next steps and visualize the issues.
Engage the team
Heavily engage the team and make it clear that it is the only entity which decides and commits on changes. This applies for process changes and technical ones. Consider developing people as ongoing activity.
Select the software development practices we should implement or improve? For example, TDD. Which practices of Scrum or other framework we should implement?
Team to develop and own Value Stream with participation from stakeholders.
Set WIP limit on each stage
Assuming no data is there, start with a guess for WIP limit as twice the people working at each stage.
Class 1: Requirements with target date.
Class 2: Urgent requirements.
Class 3: Regular requirements.
See and act on what is “Stuck”, “Idle” and “Too Busy”
Team decides on process changes
I suggest to have balance between various categories of improvement. For example, implementing engineering practices (TDD, Pair Programming) to improve quality. Changes for process improvement based on identified bottlenecks.
How often to hold product backlog prioritization and estimation meeting with up-stream stakeholders? How often to hold release planning meeting with the down-stream stakeholders?
Use Agile and Scrum practices
These practices include retrospectives, release planning, collaboration, stakeholders demos, backlog sizing and impediments removal. They are valuable and will help to improve quality and Lead Time.
– Resolve higher issues.
– Renew management buy-in by showing successes.
– Enable scaling of agile practices.
– Reflect on new management priorities.
Big question, what about my role?
To facilitate the above, then, after while the process would become autonomous and evolving with minimum need for external intervention. This reminds me with Toyota’s second pillar of its TPS named “Automation with human touch”.