Scrum is one of the most popular project management framework these days. If we talk about Software development life cycle, Scrum is the one which people are using these days. Top companies are using scrum as their project management techniques.
What is Scrum?
Scrum is basically an iterative & incremental software development approach. It is one of the most popular Agile methods.
Scrum emphasis on customer involvement from starting till the end of the software development life cycle enabling customers to get hands on experience on the software.
Unlike waterfall, scrum allows us to ensure customer involvement in every duration of 1-4 weeks. This particular cycle of duration is called as Sprint. Before understanding the Scrum process, Let’s have a look at 3 Scrum Roles:
- Product Owner: The one who decides “What needs to be built?“. Product Owner as the name says, is the owner of the product. This is generally a person from client end. Product Owner is one of the most important stake holder of Scrum project. What needs to be built and in what order, deciding the priority is another important aspect which is fulfilled by the product owner.
- The Team: The team consists of “Cross-Functional” & “Self-Organized” team members. Unlike other teams, this team consists of designers, developers, testers, etc… They are also self organized, knows who will do what part of the project and are responsible for their part of work. Team decides “How it needs to be built?“
- Scrum Master: Scrum Master ensures that product owner and team, both follows the scrum effectively. This person is responsible for making sure everyone understands scrum. This person is not a manager, instead this person serves the team and the product owner for the requirements and also for removing impediments which come across the software development life cycle.
Now, as we understand these 3 roles, it’s easy to understand Scrum Process.
Have a look at the above picture, This will help understand the process
How it works?
Product Owner prioritize requirements into features and create product backlog. Team chooses items from the product backlog and commits to complete them during certain amount of duration. This duration of time is generally 1 to 4 weeks and is known as Sprint. Everyday during each sprint, whole team gathers to discuss the challenges and progress. This is known as Daily Scrum Meeting.
At the end of the sprint, team delivers potentially shippable product increment, which product owner can check.
These ongoing sprint cycles results in iterative and incremental approach towards software development. You can read more about scrum in my upcoming blogs.
Scrum Ceremonies & Artifacts
Scrum framework consists of Ceremonies and Artifacts.
- Sprint Planning
- Daily Scrum
- Sprint Review
- Sprint Retrospective
Sprint Planning Meeting
Sprint planning as the name says, is the planning meeting where all the attendees go through the set of tasks needs to be completed within a sprint.
This meeting basically consists of 2 parts. Part I- Team goes through a prioritized list of Product backlog items, reviews “What” needs to be done within a sprint. Part II- Team goes through a prioritized list of product backlog items and reviews “How” it needs to be done within a sprint.
Outcome: Prioritized list of Sprint backlog, where each team member is aware what needs to be delivered by the end of the sprint.
Daily Scrum Meeting
Daily Scrum is a timeboxed meeting that occurs everyday within a team. Everyday team gathers for 15 minutes and each team member answers given 3 questions:
- What did I do yesterday?
- What am I working on today?
- Any impediments?
Outcome: Each team member gives an update of progress in deliverables
Sprint Review Meeting
Sprint Review Meeting occurs at the end of the sprint to “Inspect & Adapt” the product deliverables. Generally, team members demonstrate the potentially shippable product increment and together everyone inspects the product increment according to the “definition of Done”.
Outcome: Potentially shippable product increment and feedback list from product owner if any.
Sprint Retrospective Meeting
Sprint Retrospective Meeting occurs to “Inspect & Adapt” the process. Each team member again gather and review the process going on. They create a list of “Start, Stop & Continue” the things they do during the Sprint cycle.
Outcome: Improved Sprint cycle implementation and better estimates.
- Product Backlog
- Sprint Backlog
- Burndown chart
Product Backlog is a prioritized list of items prepared by Product Owner that shows “what” needs to be built. It can consists of new tasks, improvements, features, feedback etc. It keeps changing as the product backlog refinement occurs during sprint cycles.
Sprint Backlog is again a prioritized list of items which are committed by team to be completed and delivered within the sprint cycle. It is the team which generally creates Sprint backlog.
Burndown chart displays everyday progress of team work completion within a sprint. During daily scrum meeting, this chart should be updated as it reflects whether team is on schedule or not. Learn more about burndown charts here.
Thanks to scrum alliance for certification and the knowledge in this field.