My next few blog postings will be on the topic of Scrum. I have been using Scrum for almost two years now, and have found it to be indispensable. In many ways the rules of Scrum are quite simple, yet the payoff is huge. The overall purpose of these postings is to convey my experiences using Scrum and encourage readers to learn more.
Scrum is an agile and iterative software development methodology. Rather than providing a rigorous methodology, it is instead based on a set of helpful practices. One of the central practices is the Daily Scrum meeting, where developers meet each morning. At first glance this sounds like a productivity killer, but this is not the case. The Daily Scrum has a set of specific rules to make sure these meetings are effective. Here are two of them:
- Standing meeting lasting no more that 20 minutes - you are not allowed to sit and get comfy during the Scrum. You stand in a circle, and the meeting is limited to 20 minutes.
- Each developer will answer the 3 questions - no going off topic on tangents here; you only answer the three questions. Non-developers are allowed to listen in.
What are the three questions? Again, they are quite simple.
- What did you work on yesterday?
- What will you work on today?
- Are there any roadblocks impeding your progress?
If you decided to start daily meetings with your development team today, you would be able to see results quickly, based on the effectiveness of these three questions.
How is this possible? While they are simple questions, they do a great deal to make team collaboration and communication effective.
One developer may have run into a coding problem that another developer has already faced. Instead of the developer spending two hours alone finding a solution, they can both take the conversation offline and fix the issue quickly. In some cases the solution comes to light during the meeting.
As a developer, understanding where you fit into the big picture on your project is also crucial. If you do not know what other team members are working on, it makes it difficult to gauge team progress and how you are contributing. It also raises the risk of duplication of effort, even if developers are working on separate tasks. With the Daily Scrum, collaboration can be more effective, with improvements in knowledge sharing and teamwork.
By knowing who is working on what and how far along you are each day, you can be more confident about reaching your goals. You are able to accurately gauge progress as different tasks are picked up and completed. If the project is falling behind, it will come to light sooner when adjustments can be made.
By answering the question of roadblocks, you give the developers a chance to bring up anything getting in the way of completing their assigned tasks. Hopefully another developer may have a quick fix, but if not, it is up to the Scrum Master, who is responsible for running the Daily Scrum, to help them overcome this obstacle. Once again you have another opportunity to save time and be more productive.
Three misleadingly simple questions, yet answering each one will provide a great deal of information. By getting your development team meeting each day for only twenty minutes, you can realize substantial gains in productivity. That’s the power of Scrum.
Recommended Reading
Schwaber, Ken Agile Project Management with Scrum, Microsoft Press, 2004
Larman, Craig Agile and Iterative Development: A Manager's Guide, Addison-Wesley, 2003