Scrum is one of the popular agile framework widely used by software development teams to manage product development. Scrum methodology adopts a structured approach to project management.
Although scrum is one of the agile process frameworks and shares certain principles and practices of Agile, it is distinguished by certain concepts and detailed software development practices. Scrum is all about continuous improvement, where it follows an iterative approach and work is delivered at regular intervals known as sprints. The team delivers the product as increments at the end of each sprint.
The components of a scrum framework include product owner, scrum master and a team.
The Product owner refers to the key stakeholder of the project who is responsible for product development and delivering the desired outcome. He has a clear understanding of the requirement and is responsible for managing the sprint and accepting the completed sprints. Scrum master is a scrum expert who oversees the project and offers guidance to the team. He is a facilitator between the product owner and the team and ensures that the development team follows scrum practices. The development team follows scrum practices and is equipped with the skills to deliver increments. The team has no leaders to delegate tasks and each member of the team is part of product development.
Here are some terminologies used in Scrum lifecycle –
- Product Backlog – The product owner creates a backlog which is a list of tasks to be accomplished in a specific order.
- Increment – Sum of all product backlog since the previous release.
- Sprint – A time frame usually with a duration of 1 to 4 weeks to accomplish an increment.
- Sprint Planning – Plan the work to be completed in the current sprint by taking a task from the backlog and fix a time length to complete it.
- Scrum meeting – Daily meetings of no more than 15 minutes to discuss the progress made by each team member on the previous day and what is the work to be accomplished for the day.
- Sprint Review – Once the sprint is completed, the work done is reviewed. The sprint is considered to be complete only when it is submitted to the customer.
- Definition of Done -Each scrum team has a Definition of Done which refers to acceptance criteria to check if an increment has been completed and ready for release.
Scrum Project Management
Scrum addresses shortfalls in the traditional waterfall process which results in constant changing requirements. The scrum process is iterative, unlike the waterfall process which is consecutive. Scrum development breaks down the project into several sprints and daily scrum meeting and inspection ensures that each sprint delivery meets customer expectations. Any discrepancy is detected early and is fixed before moving onto the next sprint.
Scrum project phases include:
- Initiate the project by forming a scrum team and building a product backlog.
- The planning phase includes sprint planning and estimating the tasks.
- The Implementation phase includes daily scrum meetings and execution of tasks.
- The Development team builds the product as an increment.
- The sprint review is conducted by giving a demo of the increment to the stakeholders for review.
- The sprint retrospective is done to determine what needs to be improved in terms of tools and practices in project development.
- The increment is evaluated according to the criteria specified in ‘Definition of Done’.
- In the release phase, the increment is delivered to the customer.
The above process is repeated until the product development is completed.
The scrum methodology brings in transparency in work accomplished and progress made by the team.
Advantages of Scrum methodology
Adopting scrum methodology brings in the following benefits to the team:
- Improved communication
- Transparency in project progress
- Increased productivity
- Increased customer satisfaction
- Quality end products
- Save time, resources and cost
- Scrum can be tailored to organizations need
I hope this article gives a basic understanding of the Scrum process and can help implement scrum practices in your organization.