Saturday, 27 August 2016

Introduction to Scrum

I have recently completed my Certified Scrum Master (CSM) course hence writing this post.

The Scrum is one framework of implementing Agile. This framework is more popular than others especially in Software development and delivery. 

Scrum is a fixed length cycle of iterative developments. Each cycle can be of 2 weeks or 1 month.These are like calendar months, which are fixed and cannot be change to 40 days or 20 days. Also like calendar months, if we do not have any work we cannot remove them. Similarly developers cannot cancel the sprint. Rather they will pull more work from backlog.

Scrum team has only 3 roles. No less. No more.

Let’s find out details of each role -

Product Owner – Business owner or Client. (Product owner cannot be BA or Any other team member. This can be Client Manager / Sr. Client Manager Etc.)

Product owner is responsible to get the value delivered in each sprint by the team members. He will be collaborative and decision maker. He should be able to inform other stake holders on overall progress and bring in the requirements in form of suggestions.

 Scrum Master – The facilitator. May not be technical person, however will make sure scrum functions as expected. He is not responsible for deliveries. He can neither take any decisions to update any feature nor stop any deliveries for quality or any other issues.  He is responsible for protecting team from external interference and checking if team is comfortable to deliver.

He is meeting organizer and helping others to follow the norms so that each meeting will be fruitful. He is a coach to impart agile values in team members.

Development Team – This is self-organised team. This team consist of all the remaining which includes BA, Architect, Developers, QA and anybody else which is required to build shippable item. The responsibilities of development team is to make sure within sprint they deliver quality item in each iteration.

Within development team BAs help to understand and prepare required documents, architect creates design; developers write code and QA test the code. These all members work closely and collaboratively. In each Sprint (2 -4 weeks) all of them work together and create a shippable product. So at the end of each sprint the Product owner if wish to release he can release the developed work.
Scrum has following ceremonies. Ceremonies can be better understood as functions to perform in each sprint (Every 2-4 weeks).

1. Sprint Planning
2. Daily Scrum meeting (Stand up)
3. Sprint review (Demo / Play back)
4. Sprint retrospective
5. Grooming

Sprint planning is 10% of the sprint time and happens at the beginning of each sprint. So if we have 2 weeks sprint, i.e. 10 days then it will be 1 day. Here all the stories (features / requirement) which can be delivered with in sprint will be pulled in Sprint backlog. The tasks for each story are created and hours of work are decided.

Daily Scrum is a daily 10 min discussion. Each development team member and scrum master answers following 3 questions –

1. What did I do yesterday?
2. What will I do today?
3. Any issues (Impediments)

Any help is available within team will be proposed but will be discussed after the scrum meeting.

Sprint review is 10% of the sprint time and happens before the end of sprint. So it will be 1 day if we have 10 days sprint. Here all the work is shown to product owner and he will accept the story if it is done.

Sprint retrospective is 10% of the sprint time and happens after the review. This meeting is to check the learning. It is generally around following questions –

1. What went well in this sprint?
2. What did not went well in this sprint?
3. What we will continue doing in next sprint?

Grooming is a meeting to discuss the product backlog. This happens during sprint and takes 10% of sprint time. In grooming team goes back to product backlog and looks at each product item to assign some high level estimates in terms of story points, this will make the list more sequenced and sorted.

If we look at the time distribution for 10 days (2 week) sprint, actual work will be carried out in 6 full working days.

As a team each one is individually responsible to update the work completed. And the burn down with remaining work is created and displayed on floor.

The basic idea of Agile is around three towers –

1. Transparency
2. Inspection
3. Adaptability

Lot of work on Scrum is created across globe. Each team alters the scrum to make it best fit; however as discussed basic concepts around it remain the same.

It will be more interesting to read more on other agile process as well.

Keep Practicing Scrum!