We are starting on the agile journey. One of my senior colleagues Rajesh R Kumar provided an overview on using the scrum methodology for agile development to get us stated. I’m sharing my learning from the session in this blog.
What is Scrum?
Scrum is a framework or methodology for agile software development.
Measure of Progress
Working software is the only proof of progress. All iterations should produce some working software, in fact a sprint (one iteration) won’t even be considered a sprint if it doesn’t aim to produce some working software.
Product Backlog
A product backlog is a long list of all the features one wishes to achieve from the product. The product owner is responsible for managing the product backlog. The product owner has the final say in accepting whether a particular sprint has delivered some particular feature or not.
Prioritized Product Backlog
A prioritized product backlog lists the features desired in order of priority.
Release Backlog
A release backlog groups features together as per release plans for the product.
Sprint
Iteration of software product development is called as a sprint in scrum. A sprint has its own sprint backlog which lists all the features to be achieved in that particular sprint. An ideal sprint is 2 weeks for a new team and it can go for 4 weeks for mature teams. Any longer and we tend to lose the benefits of agile development.
Burn Down Chart
A burn down chart helps measure daily progress during a sprint. We plot a graph which has total days in a sprint on the x-axis and total work required on the y-axis. On joining the two ends we get a straight line. Our daily plotting happens relative to this line, if we are below the line it means we are ahead of schedule and above the line indicates lacking behind.
Daily Scrum Meeting
A daily scrum meeting is a get together of the entire team, for just 5-10 minutes where everybody reports the status of work and picks up the work for the next day. It is ideal to have it at the start of the day but it can be conducted at any time.
Sprint Review
Every sprint should end with a sprint review meeting which is a demo of the new functionality to the product owner. The product owner can accept or reject whether the feature has been successfully achieved.
Sprint Planning
Sprint planning deals with selecting features from the product backlog to be built during that sprint. A sprint doesn’t start until sprint planning meeting happens.
Retrospect
At the end of each sprint, the team meets to take stock of how things can be improved. Scrum is based on a philosophy that no matter how good one is there is always room to improve.
Scrum Master
A scrum master is the de-facto project manager. A scrum master is the person responsible for removing hurdles that are preventing the team members from functioning properly.
These are some of the basics of scrum which will get you started.