SCRUM and SPRINT: what they are and why they are essential in software development
The term SCRUM refers to an agile methodology which is both incremental and interactive. Its main objective is the development of projects and applications. Technically speaking, it is a framework or structured modality which can be used as a starting point when building a system.
It uses a structure based on cycles, known as SPRINTS. These can last between two and four weeks. Once the SPRINT cycles are finished, the development team is ready to release functionalities which can be tested immediately.
Another important feature of these cycles is the fact that they are time-boxed, in other words they have a set duration time. This means that it is not possible to extend them and that they will come to an end regardless of whether the developer has completed his work.
The SRUM Team
The working team is an essential part of the SCRUM methodology and it is both cross functional and autonomously organised. The main difference between this working method and more traditional ones is the lack of a project manager figure.
Each individual team member’s potential is taken into account and the strategy is one of sharing responsibilities. One concrete advantage of this approach is that it avoids the bottle necks which are often created when one single person is expected to take the final decisions on a project as well as monitor its progress.
In SCRUM teams therefore, leadership is shared. This means that once a problem has been identified, the right professionals can be assembled to enable its successful resolution. In other words, if someone on the team is able to identify a problem in advance, they are considered capable of taking on the leadership role during the subsequent resolution phase.
Within each team, it is still possible to identify specific roles. They are listed below.
- The SCRUM Master, or the person in charge of the whole process. Their job is to guarantee that the methodology is properly understood by everyone on the team. They must also ensure that the team proceeds in a manner coherent with the project’s development.
- The Product Owner, the professional who is familiar with the requirements of the product, has the task of safeguarding the interests of all stakeholders. It is his job to optimise the development team’s performance.
Development cycles
As mentioned above, the development cycles used in the SCRUM methodology are known as SPRINTS. For each cycle, the working team selects the tasks by choosing from a list of activities according to priority.
It is important to bear in mind that aspects planned at the start of the iteration process may be considered in the same way as a contract. Because of this, it is not possible to modify them once work has commenced.
Once work is underway, the team of developers get the chance to compare notes each day during the Daily Stand-Up, also known as the Daily Scrum Meeting. It is a very important moment which allows objectives and results to be shared. Generally speaking, the ‘Dailies’ usually last around 15 minutes.
Regarding the management of the cycles, it is important to remember that at the end of the SPRINT, the team releases an update on how much work has been completed (done). This output must conform to specific requirements (definition of done). If we consider the example of a typical software application, the requirements may include an integrated functionality, already tested and ready for release.
The SCRUM methodology foresees that at the end of each cycle, the team get together for the SPRINT review. The main purpose of this is to evaluate whether the pre-established objective has been reached. All work completed by the time of that SPRINT is shown to the company who commissioned the project. Another important procedure is the retrospective SPRINT, during which the team decides which improvements will need to be made during the next cycle.
Translated By Joanne Beckwith