The scrum framework was one of the first software development approaches to adopt agile principles, and for many years it was the most popular agile software development approach worldwide. Scrum fully embraces the 12 principles. It provides a framework for developing, delivering, and sustaining both simple and complex products in an agile way. Although the initial focus was on developing software, it is now used in a variety of other disciplines, including product research, sales, marketing, and human resources. It is designed to be used by small teams who break their work into goals that can be completed within short timeboxed iterations. The term comes from a team formation used in the game of Rugby. Progress is tracked using 15-minute daily meetings, which are usually held standing up. At the end of each iteration, the team holds a review to demonstrate the work done and to identify improvements in ways of working.
Agile software development with scrum uses this incremental, iterative approach. The agile developers are organized into teams of four to ten people who specialize in a particular product. Each small team is in charge of how they work, using the self-determination agile principle. The product owner plays a key role in the team. They break down the users’ requirements into smaller portions known as ‘user stories,’ which they then record in a product backlog and prioritize based on business need. Scrum methodology was initially used for software development, but agile project management with scrum has now become popular for managing projects.
The team takes user stories selected by the product owner, which they then code, test, and deliver in short release cycles. These release cycles are known as ‘sprints’ in the scrum guide. Each sprint in a scrum framework typically takes two to four weeks to execute but can be shorter, satisfying the agile principle for frequent software deliveries. The concept behind agile development with scrum is that users will constantly change their minds about what they want, so the plan has to be flexible and the product delivered in small increments. Hence scrum, as with all agile approaches, never plans too far in advance and continually releases more working software.
Roles in agile scrum
One difference between scrum vs agile is that agile does not define or mandate any roles, but the scrum framework has three specifically defined roles. The first role is the multi-skilled scrum team who create the development tasks, run a daily sprint meeting to check progress and jointly tackle issues, write and test code, and agree on what can be shipped at the end of each agile sprint.
The role of the Scrum Master
The second role is a scrum master who protects the team from outside interference, facilitating the agile requirement for self-determination. The scrum master also promotes and supports the framework and the agile principles. Interestingly, as agile culture is against management hierarchies, the scrum master is not the manager. They are a servant-leader for the team. This role helps those outside the team understand which of their interactions with the team are helpful and which aren’t, according to the principles of what is agile. The scrum master helps everyone change these interactions to maximize the value created by the team and maintain adherence to the agile principles.
The Role of the Product Owner in Agile Scrum
The third role is a product owner. They are responsible for maximizing the value of the product resulting from the work of the team. How this is done in detail may vary widely across organizations and implementations. The product owner is essentially the representative of the customer, with responsibilities for capturing requirements in the product backlog and prioritizing them based on business needs.
Scrum is the oldest and currently the most popular agile methodology. While it transformed how software was developed and delivered in thousands of organizations, its use of fixed time sprints is now seen by many as a restriction. Scrum can be a good first step in using agile, as its structure helps individuals with the transition away from highly organized waterfall approaches and gets them used to the principles of agile. But scrum may not be the best solution long term, as businesses and individuals now demand new and enhanced products when they need them, without having to wait for the next sprint. Scrum will be around for a long while yet, but over time will become confined to the backwaters of software development. So, if you are selecting a new agile approach to developing software, make your choice wisely.