About 18 months ago our company started using a new application development method. In the beginning I assumed Scrum was just for programmers, but quickly realized that it could be used with just about any project at work or at home. While you could spend hours on Wikipedia researching Scrum and its roots, I will sum up 4 of the most important lessons I learned participating in a Scrum team.
The idea behind iterating is that you don’t need all features in order for a product or project to be finished. In application development, this means users want to have features A, B, C, D, and E. Each iteration delivers one or more of those features. The feeling of success by those developing, and those using feature A, provide the power to move forward on the next phase. At home I think of some recent minor flooding.
- Iteration 1: Remove the inch or so of water, any water damaged items, and tear up carpet
- Iteration 2: Dry the basement and dispose of damaged items and carpet
- Iteration 3: Install of new carpet
There was the initial panic of water everywhere in the basement, but as we broke the project down into manageable pieces, the project didn’t seem so overwhelming.
If I were to pick my favorite lesson, this would likely be the one. Planning for Scrum is not just about making a list of tasks; it is making a list of tasks that:
1. Are clear enough so that the whole team understands what will be done
2. Break things down into manageable size (able to be completed in the time box, which will be explained in more detail below)
3. Lists by priority the order which is most desirable by users (not the Scrum team)
Building a list of tasks that a team can understand and complete in a reasonable amount of time accelerates progress. Here I think of the marketing department, and a goal to increase brand awareness. Planning for such a large ambiguous goal is the key to success. Keep in mind the three points above can dramatically increase chances of success.
Maybe, I hope, probably, if I have time…These are all excuses that give room for a person to not follow through. When a Scrum team or individual in the team commits to getting something completed, they make a promise to the team. By working in a team and committing to the team, you elevate the sense of personal responsibility, you answer to the team. I have seen firsthand impressive results and elevated dedication from multiple team members.
Time box is a rigid amount of time, with typical time boxes in the two week to three month range (whatever works best for the team). The time box is the period of time in which you must get tasks done. The value of time boxing is that we commit to get things done in a very specific amount of time. When the marketing department is working on brand awareness, each consumable well defined task is going to get done within the time box. This leads to a more predictable pace of completion, because everyone knows the timeline.
While each lesson can stand by itself, putting all four together produces some remarkable results.