Agile Software Development with Scrum
Posted Jun 07, 2009
I started reading the above book yesterday by Ken Schwaber and Mike Beedle. So far I am through the first chapter and I feel I have taken in so much useful information, I can't imagine what else the authors have to say. They give some hints that seem promising and I could always use the reinforcement, since it seems easier for me to learn things through repetition or when I'm truly inspired.
Before I started reading this book, I did have a brief introduction to Scrum through an Orlando Meetup.com meeting on the same topic hosted by Robert Demsey and a presentation he gave at barcamporlando.
Product Backlog List:
Iterative Incremental Development
- Kept by one person
- A publicly available spreadsheet for viewing only
- All feature requests go through the Scrum Master (SM), which could be your manager.
- The SM is the only one who updates and prioritizes the list
- People can only go to the SM, no one else on the project
- The SM doesn't say yes or no to requests. Some requests are just never implemented
- The requirements never become finalized
- Each iteration is called a sprint
- The result of an iteration is a Product Increment
- Fixed durations (~30 days) are put into production
- Testing is very important
- Everyone involved with the project knows what the team is working on for each iteration.
- There are no interruptions during a Sprint, except for products support and maintenance
- Each team member should produce an updated product technical illustration with each sprint to understand the product design and code
- Scrum Master is the buffer between the team changing requirements
- Daily stand up meetings on what gets done and what didn't are called Daily Scrums
- No one else can attend the meeting or can't say anything during the meeting
Daily Scrums answer these 3 questions
- What I have done since the last meeting?
- What I was planning to do before the next meeting?
- What is stopping me from working on what I should be?
An observation made I found amusing and mostly true is “Users only know what they want after the initial version of the software”. I've experienced this so many times at a post review meeting. The users will ask why this and that wasn't released and most of the time it's because they never asked us for it and we usually have the list to prove it.
The rest of the chapter goes through a few testimonials of people who were pioneers in implementing scrum. There is also mention of Extreme Programming (XP) a few times, which I have heard of as framework under Agile Development. I did read the original book on XP by Kent Beck a few months ago and have started implementing some of the techniques, such as Test Driven Development(TDD) and shorter releases.
To get a different perspective on the topic, these are some brief articles with pictures on the process: