Thursday, June 19, 2008

Scrum, simple tool for great results.

In my earlier post I described basics of agile development, now it's time for me to tell you something about scrum.

Where did the name come from?

Just like it's took by hidden office camera, right?

Since it's agile, scrum is organized in iterations called 'sprint'. Each sprint begins with planning during which new functionalities called (backlog items) are being chosen to implement during it. It is developers choice to pick as many backlog items as they feel comfortable with and are sure they'll manage to implement and test in this sprint. Each sprint ends with release during which new version is put into production.

The team (from ~5 to 20 people) meets every morning possibly at the same hour to discuss their current status. Going around the table, each person is answering these 3 questions:

- What I've been doing since last meeting?
- What I'm going to do today?
- Is there any problem I stumbled across?

While manager may take participation in the scrum meeting the meeting itself is not really for him. Most of benefits are for programmers. They know what their colleagues do and are more engaged into a project as a whole.

In such team, there is no team leader who is responsible for current iteration or gets blamed if somebody from team blows it. It's unnecessary chain link. It may be hard to believe but most of programmers cares and wants to do cool stuff and be more effective without such control.

At this point people are asking: 'What if someone is doing nothing? Just being lazy all day? How do you deal with it? How do you know about it and who to report as in scrum there's no team leader?'

The answer is: it will come out itself.

It is just like web2.0 portals. Take YouTube, there's no need for admin who'd decide which movie sucks, people will do it. Same thing happens here cause people really cares for what they are doing.

Finally, there are many web based soft which helps you tracking developers and their tasks so you can always see that Janek was responsible for the task that didn't made on release so you may take him to your torture room for his reward.

There are still a lot of things I didn't tell since post shouldn't be too long. To end up, couple of usefull links:
- scrumalliance.org (one of biggest scrum sites)
- demo.bananascrum.com (Web tool for keeping track of projects lead in scrum)
- wikipedia site

Cheers!

No comments: