For the past eighteen months, I have played a key role in my organisation’s Scrum implementation. Fortunately, I have been coaching people and practising Scrum in an environment where people are keen to learn new practices and are open to making changes. I have based most of my ideas on that of Ken Schwaber and Jeff Sutherland. Ken and Jeff emphasize the fact that Scrum is a framework and not a methodology. As I considered this after my ScrumMaster course, I decided to implement and coach the team on Scrum as if it were a natural evolution from our current process. To do this, I listed eight questions that I felt must be answered correctly in order for us to make a successful transition. I firmly believe these are questions every new ScrumMaster/Coach should ask prior to implementing Scrum because the answers determine whether your team can succeed with Scrum.
1. Does Scrum fit the bill?
The ScrumMaster should understand, and more importantly be able to visualise, how Scrum aligns with their organisation. The ScrumMaster will need to work with management to identify existing problems and brainstorm ways in which Scrum will help them find solutions.
2. Does management believe in Scrum?
Once the ScrumMaster and management have identified how Scrum will work for their organisation, the ScrumMaster must himself believe, and also convince management to believe, the following key tenets:
- Software development is best implemented via an empirical rather than planned process.
- Once organizational impediments are removed, a self organizing team will naturally deliver better software.
- You can deliver valuable software within a prescribed time and budget.
3. What functional specialists does the development team have?
Once management has been convinced, the ScrumMaster needs to identify the functional specialists in the development process, such as developers, testers, analysts and managers. (You could identify more; I have just named a few).
4. How can I cater my coaching to the specific needs of each functional group?
The ScrumMaster is responsible for coaching each functional group by concentrating on how each functional group will fit into Scrum and benefit from it. The ScrumMaster should explain any changes that will arise from implementing Scrum. Each functional group needs to be educated on the benefits of using Scrum; no questions should be left unanswered. At the end of this process, functional groups should be convinced that Scrum will work for development. If a team member, in spite of exhaustive training, is unable to buy into Scrum, the problem should be escalated to management. Organisational behaviour is key to the success of Scrum.
5. Does the coaching recognise cross-functional teams and coordination?
Once all functional groups are able to comprehend and understand their role in Scrum, the ScrumMaster must bring the functional groups together and coach them on how they will work as a cross-functional team.
6. Does the team understand the difference between a leader and a manager?
It is important that the team understands the difference between a leader and a manager. The team should not report to the ScrumMaster; the ScrumMaster is a leader who guides the team, not a lead in the management sense.
7. Does management understand the difference between team roles and management roles?
Scrum roles are functional job descriptions; they are not part of the organisational hierarchy. Management needs to clearly isolate hierarchy and any decisions relating to these from the team. Teams need to understand that management reserves the right to manage the organisational structure and that scrum roles are for functional purposes only. Perceptions of ScrumMasters as team leaders or development managers could create a bottleneck right at the start for the ScrumMaster. In these cases, management needs to step in to more clearly differentiate between an orgainzational title and a team role.
8. Does the team know what kind of engineering processes are required?
Once the functional groups have been transformed into cross-functional teams, the teams should be able to brainstorm on the engineering processes required for iterative software development. Processes might include continous integration, automated testing, process templates, and so on.
Once a ScrumMaster has coached his team to this extent, the real execution of Scrum can begin.