Scrum: the basics of agile software development

In 2001, 17 software pioneers came together to discuss and compare the different techniques for light-weight software development of the time, such as Extreme Programming (XP) and Rapid Application Development (RAD). The outcome of the meet-up was the Agile Manifesto, which sets out the 12 principles of agile work that organizations can use to train and increase their agility, flexibility and adaptability. In summary, the Agile Manifesto prefers individuals and interaction over process and tooling, working software above documentation, collaboration with the customer over contract negotiations and responding to change instead of following a plan.

The Agile Manifesto has opened the door for new delivery methods to implement changes in a complex environment, among which Scrum is the most widely used and used method. Companies worldwide make grateful use of Scrum to continually improve their products and services.

Scrum was devised in the nineties by Ken Schwaber and Jeff Sutherland with the aim to develop software in an efficient and effective manner. The term Scrum comes from the rugby world and is a process framework that is used to develop complex products and software in a continuously changing environment.

The framework is based on teamwork. The Scrum Team consists of a Product Owner, Scrum Master and Development Team and is jointly responsible for realizing working products and software that meet the wishes of the customer. To guarantee the quality of the products and software, the team establishes a Definition of Done (DoD). In the DoD, the team describes the requirements that products and software must meet before they can be used. This could include the execution of test work, the documentation of functionalities and compliance with internal security guidelines of the organization.

The Scrum Team is self-organizing, iterative, incremental and delivers according to a fixed rhythm, the sprint, a working product and working software. The sprint is fixed and can not last more than a maximum of 4 weeks. Transparency, observation and adaptation form the core values of the team during the sprint.

Within the Scrum Team, the Product Owner is responsible for identifying and prioritizing the products and changes to be realized. The products and changes are centrally recorded on a priority list called the Product Backlog. In consultation with the environment and stakeholders involved, the Product Owner determines in which order the products and changes are picked up by the team. The Scrum Master supports the Product Owner in his role and is responsible for removing issues and supporting and coaching the team.

Sprint Planning takes place at the start of each sprint. In this consultation the direction and focus of the sprint are determined and the team sets a sprint goal. In addition, the list of prioritized products and changes will be discussed and determined what the team will take up in the sprint. Then it is discussed how the changes are picked up. The outcome of this consultation is the Sprint Backlog: a short list of prioritized changes and tasks on the basis of which the team starts with the realization of the products and changes. The Sprint Backlog is owned by the Development Team and can not be changed by the Product Owner during the sprint. During the sprint, the progress is discussed daily in a Daily Scrum on the basis of three questions:

  1. What did you do yesterday?
  2. What are you going to do today?
  3. What issues do you have?

At the end of every sprint during the Sprint Review, the products and changes are shown to the customer, stakeholders and end users, and the sprint is concluded with a Sprint Retrospective. In this consultation, the sprint is evaluated by the team and points of improvement are mentioned that will be included in the next sprint. In this way, the team can continuously improve.

The agile ideas are now embraced by many organizations and Scrum is successfully applied in many organizations. Starting in the short term with agile and Scrum is proving to be a relatively quick advantage for organizations in organizations compared to traditional project management and delivery techniques, including the targeted and regular delivery of working software.