Thursday 20 May 2010

Scrum in Practice

This is a translation to English of a blog by Björn Eriksen. The original can be found at the Project Blog @ Projectplace

Scrum

Scrum is said to be a very easy method for handling complex projects. This is true. The foundations for Scrum are easy to describe and easy to understand. The difficulty lies in knowing how to implement it in a real project. How to use Scrum in an organisation that might be used to working according to the Waterfall Model? How to use Scrum in an organisation that has a working release management system adapted to ITIL?

One part of the simplicity of Scrum is that you only have three roles: Scrum Master, Product Owner and Developer.


  • The Scrum Master is responsible for the process and acts as a mentor or coach for the team and Product Owner.
  • The Product Owner is the person who will prioritise the requirements according to business value and is in charge of what will be developed in the product or system.
  • The Developers are the team members in charge of delivering. It doesn't matter if your expertise is in programming, architecture, or testing, in Scrum your role description will be Developer.
Sprints

All development in Scrum is done incrementally in iterations called sprints. The length of a sprint can vary but it's usually between 14 and 30 days. In the beginning of the project you can experiment with different lengths for the sprints. It's important though, to decide on and keep to a set length for the sprints. The reason I recommend a set length for each sprint is to give the team a feeling for the progression at a set point in the sprint. It also makes estimation easier as you get a better feel for the speed of the team.

The first day of a sprint is spent with the team, Product Owner, and Scrum Master deciding what the deliverables are for the team at the end of the sprint. The day is divided into two meetings: one where the Product Owner and team negotiate the deliverables and one where the team time estimates the deliverables and break them down into tasks. After day one, Scrum hands the responsibility over to the team and only requires a daily status report on the progress. This is done through a daily 15 minute meeting where the team reports status to each other.

Now it's time for the team to get to work. The clock is ticking.... Only 29 days to finish a potentially deliverable product. What do we do now? How can we deliver the expected quality? How will we be able to test this functionality which is dependent on external systems to which we have no access? The questions pile up and.... tick tock, tick tock...

Focus and Peace


In this stage a lot of people use eXtreme Programming (XP) to help with for instance automised builds, unit testing and continual integration. Scrum deals very little with what goes on in the sprint but emphasises on giving the team peace and quiet get on with their job and focus on the deliverables. Scrum and XP work really well together although XP is a complete method in its own right. What makes XP different from a lot of other agile methods is that it contains a lot of recommendations on what the team should do during an iteration.

Training


There are a lot of training on the market today that focuses on Scrum Masters but few that target developers in a Scrum project. By this I don't mean the actual development in C#, VB. NET or Java, but rather what you can do to improve the quality and increase productivity in the deliveries. Productivity is something that is very much in focus in Scrum.
One training that stands out is Scrum in Practice at Addskills. This course is designed for team members in a Scrum project. The first day focuses on Scrum and estimation and the second day on practices from XP.

I did my training as Scrum Master at Citerus in Uppsala, Sweden under the tuition of Tobias Fors and Mikael Lundgren, a fantastic course that I can highly recommend.
Anyone who has done or seen another Scrum training which is not one of the official certified Scrum trainings?

All the best,
Björn

I hope you enjoyed the blog post, if you have questions on how we use Scrum with Projectplace you can get answers from our very own Scrum Master over at Projectplace Answers.


No comments:

Post a Comment