
What is SCRUM?
SCRUM is an iterative incremental framework and is a perfect fit for small self organizing software teams. It is rapidly being adopted by the developer community. Below I have put a quick brief of the process based on my experience of participating in the same.
Who is involved ...
The key roles in SCRUM are:
SCRUM is an iterative incremental framework and is a perfect fit for small self organizing software teams. It is rapidly being adopted by the developer community. Below I have put a quick brief of the process based on my experience of participating in the same.
Who is involved ...
The key roles in SCRUM are:
- Scrum Master: person responsible for maintaining the processes
- Product Owner: person who represents the stake holders
- The Team: typically 5-9 cross-functional persons
The stakeholders interact with the Product Owner while the team focuses on the deliverables.
The Artifacts ...
The list of all the product features (typically written in form of User Stories) are prioritized by the Product Owner and listed in the Product Backlog. During each iteration called a Sprint (of 2-4 weeks duration) a potentially shippable set of user stories from the product backlog is included in the Sprint Backlog. The selection is purely based on priority computed using business value and effort needed to implement.
The Artifacts ...
The list of all the product features (typically written in form of User Stories) are prioritized by the Product Owner and listed in the Product Backlog. During each iteration called a Sprint (of 2-4 weeks duration) a potentially shippable set of user stories from the product backlog is included in the Sprint Backlog. The selection is purely based on priority computed using business value and effort needed to implement.
A user story included in the sprint backlog is further divided into more manageable tasks. Typically a task spans 12-15 hours and a day consists of 6 hours. A publicly displayed Burndown Chart daily tracks the progress of the team during a sprint.
The Meetings ..
There are a bunch of ceremonies the team needs to participate in.
The Meetings ..
There are a bunch of ceremonies the team needs to participate in.
- Sprint Planning : 6-8 hours begining of each sprint for planning and estimation
- Sprint Review : 3-5 hours end of each sprint to review and demo the sprint deliverable
- Sprint Retrospective : 3-5 hours end of each sprint to reflect on the completed sprint and brainstorm over the scope for improvements
- Daily Scrum : Not more than 15 mins. during which each team member answers 3 Qs:
Q1 - What did I do yesterday?
Q2 -What will I do today?
Q3 -Is there anything in my way?
During the sprint planning meeting, the team collectively estimates the tasks using techniques such as Planning Poker. Each team member voluntarily picks up a task based on his velocity.
The Advantages ..
Significant advantages of adopting SCRUM:
- Focuses on business value, stakeholder participation and collective ownership of the product by the team
- Fits very well with agile practices such as pair programming, continuous integration, test driven development.
- Effective in adapting to changing business needs.
- The team is small, more focused and productive.
- Stakeholders can see working software more frequently