Scrum is efficient framework within which software can be developed. Schwaber and Sutherland developed Scrum. This is one of Agile methodologies which has proven extremely success in last 20 years.
Agile or Scrum – confusion ?
Scrum is a subset of Agile and one of the most popular process framework for implementing Agile.Scrum defines practices required to follow Agile. There are other agile methodologies like Dynamic System Development Methodology, Extreme Programming (XP), Test-driven Development (TDD), Lean, Kanban other than scrum. Scrum is just one of the implementation of Agile methodology.
The Scrum Team consists of three roles, namely a Scrum Team, Scrum Master and Product Owner.
- Scrum Team: Scrum Team is comprised of five to seven members. The Scrum Team owns the plan for each sprint. They anticipate how much work they can complete in each iteration. All team members closely work together to commit estimated work. The Team comprises of analysts, designers, developers, testers, etc. as appropriate and as relevant to the project.
- Scrum Master: Scrum master is master of Scrum Team. He/she organizes meetings, deal with roadblocks and challenges, and work with the Product Owner to ensure the product backlog is ready for the next sprint. He/she is responsible to complete sprint smoothly, organize any critical meetings, remove any obstacle that reduce productivity. Scrum Team can raise their road block to him/her early in the sprint so that sprint’s expected and actual delivery can match.
- Product Owner: Product owner owns the life of product and focuses on business and market requirements, prioritizing all the work to enhance the product. The Product Owner is not a project manager but he/she motivates the team with a goal, vision and clarify any doubts related to product development. He/she manages and prioritizes Product backlog.
Scrum Process Framework can be viewed by means of a sequence of events and the corresponding artifacts. There are several terminology being used in Scrum method.
- Sprint: Sprint is development period during which incremental product is developed. It can be of 2 weeks or 1 month accordingly requirement but will be consistent in all sprints. The goal of sprint is planned before start of sprint between Product Owner and Scrum Team. Scrum team will work together to achieve goal in sprint. Any work not done in the sprint goes to Product backlog again.
- Product Backlog: The Product Owner and Scrum Team meet to prioritize the items on the product backlog. The product backlog is not a list of things to be completed, but rather it is a list of all the desired features for the product. During Sprint Planning priority features from Product Backlog are moved to Sprint Backlog on which Scrum Team work during Sprint
- Sprint Backlog: This is list of product features agreed to complete by Scrum Team accordingly its priority. Developers from Scrum Team create User stories of featured taken into Spring backlog
- Sprint planning: Before each sprint, the Product owner presents the top items on the backlog to the team in a sprint planning meeting. The team then chooses which work they can complete during the sprint and moves the work from the Product Backlog to the Sprint backlog (which is a list of User stories to complete in the sprint). Each User story is estimated by Scrum Team and given points based on complexity of User Story between by Scrum Master, Product Owner and Team
- Backlog grooming: At the end of one sprint, the Scrum team and Product Owner meet to make sure the Sprint backlog is ready for the next sprint. The team may remove User stories that aren’t relevant, create new stories, reassess the priority of stories, or split user stories into smaller tasks. Team will clarify all functional and non-functional question related to product feature to be taken into sprint so that it can be started in the next sprint without any block or clarification required
- Daily Scrum meetings: The Daily Scrum is a 15-minute stand-up meeting where each team member talks about they had worked and their next planned work and any block to achieve work. Scrum master needs to resolve any block from Team and take notes of meeting which can be discussed in Scum of Scrum meeting. The meeting will give chance to get clarity on what others are doing. Scrum master can give any updates related to sprint, project to the Team
- Sprint review meeting: The team presents the work they have completed at a sprint review meeting to Product owner, Stockholders etc. This can be individual presenting his/her part of work or Team leader presenting overall work done in the sprint. This will give chance to get feedback of final incremental product
- Sprint retrospective meeting: The purpose of this meeting is to take note of what went well in previous sprint, which areas needs improvements and what is action items to improve it.The meeting is between Scrum master and Scrum Team at the end of sprint and start of new sprint.The Sprint Retrospective is an opportunity for the Scrum Team to introspect and improve within the Scrum process framework so as to make the next Sprint outcome more effective
- User Story: It is narrated from user perspective regarding what he or she wants to have rather that what system can do for him. It is functional or non-functional requirement written by Product Owner. One Product feature requirement can be divided into multiple User Stories. Each User story can be further divided into multiple task. User story has Acceptance criteria defined for acceptance of User story. User Story structure is as follows –
As a User,
I want To Perform Some Task,
So that I can achieve some goal/benefit/value.
- Estimation: Each User story is estimated during Spring planning meeting by Scrum Team. Estimation is agreed by all participants in Spring planning and then User story is given story point. One story point equals to 6 or 8 effective hours of one resource.The Scrum Estimation is in terms of the degree of difficulty for each of the User Stories. To assess the degree of difficulty, a particular scale is used.There are several types of scales that are used in Scrum Estimation Following are some examples Numeric Sizing (1 through 10), T-shirt Sizes (XS, S, M, L, XL XXL, XXXL), Fibonacci Sequence (1, 2, 3, 5, 8, 13, 21, 34, etc.)
- Burn Down Chart: Scrum Master tracks Spring progress using this chart. It shows remaining efforts in day-wise number of hours. Below chart shows remaining planned hours vs actual hours day wise. It gives early notification to Scrum Master about any risk of not meeting planning and take necessary action early in the sprint.
Scrum Tools facilitate planning and tracking of Scrum projects. They provide a single place for managing the product backlog, sprint backlog, planning and tracking Sprints, displaying Burn down charts, conducting daily Scrum Meetings, and conducting Scrum Retrospectives. Below are several tool for managing scrum projects –
Rally Dev – https://rally1.rallydev.com/slm/login.op
Taiga – https://taiga.io/
Scrum overall process
Pros of Scrum
There are obvious reasons why Scrum has become most popular form of Agile framework.
– Scrum ensures effective use of time and money.
– Regular daily meetings helps Teams Stay Focused and clear visibility.
– Developments are coded and tested during sprint and release frequently
– Easy Feedback and Changes from Customer and stockholders
– Win Win situation to all parties – Customer, Organization, Project Manager, Product Owner, Scrum Team
Cons of Scrum
There are areas which needs improvements by enhancing this methodology.
– Smaller Teams Work Best, adopting the Scrum framework in large teams is challenging
– Individual team members efforts may hide due to working as Scrum Team
– Overall Scrum team performance may fail if individuals are not committed or cooperative or well experienced
– Frequent meetings sometimes frustrate team members
– If sprint planning is not done properly then Scrum Team may have to face stress to meet deadline