There are a number of methodologies that can be termed as agile. Among them, scrum framework is one of the most popular agile methodologies. But first, let’s talk about agile. Some of the popular frameworks that come to mind are scrum, extreme programming, lean, kanban, crystal, etc. All of these different frameworks can also be combined together to suit different organisational environments.
Scrum utilises a series of fixed-length iterations called sprints that are regularly held to give the teams a much-needed framework for building software in the rapidly changing agile development world. The length of an individual iteration is usually kept short, considering the frequency with which they are held, and also to increase their utility in the development process. It is important that the team does not waste all their time in meetings and conferences, but at the same time is updated with recent developments in their projects and know where they are heading. These short iterations emphasise on the success of teams and how much they are able to deliver within the timeframe, which acts as a good motivator. A sprint session is usually annotated with graphs, charts, presentations and other visual aids to help bring energy to the sessions. Teams are encouraged with incremental feedback in each session.
A sprint covers four defining aspects of project development – Sprint Planning, Daily Stand-up, Sprint Demonstration and Sprint Retrospective
There are three major types of participants in any scrum session. They can be classified as:
1. Business / Product Owner
2. Scrum Master
3. Development Team
Business or Product Owner is the person who lists the requirements of the product that is to be developed. He knows what he wants, scrutinises the work done by the development team, and provides feedback. In a scrum framework, a product owner is responsible for defining the backlog, or task units. He manages all business and marketing requirements. He guides the team to deliver products that are the most useful and cut to the business requirements.
A Scrum Master is regarded as a facilitator for scrum sessions. He is responsible for ensuring that a scrum session is distraction free, stays focused on the driving goals and does not deviate from their core objectives.
The Development Team is a small group of developers, testers, etc. who are responsible for bringing the project to life. They implement “user stories” defined in scrum sessions and deliver completed backlogs to the product owner in scrum sessions.