Our engage solution is developed according to the Scrum methodology. It appeared in the 80's and is now widely used in software development. The key to its popularity? The continuous adaptation to change and the continuous improvement of teams and processes that it allows.
What is the Scrum methodology?
Three aspects must be taken into account for the success of a product:
- The product aspect
- The technical aspect
- The organizational aspect
Take for example the development of an online payment functionality:
- the product aspect consists in identifying and expressing the need,
- the technical aspect to design and implement the functionality,
- and the organizational aspect to guarantee the processes that allow the functionality to come into being.
The Scrum methodology is designed to allow the grouping of these three aspects. It uses three types of roles to represent each aspect:
- The product manager (or product owner)
- The development team (which manages the technical aspect)
- The scrum master (responsible for the organizational aspect).
These teams will meet regularly to define:
- Status of the project
- The directions to take
- Corrections to be made
- Prospects for improvement
Feedback is at the heart of Scrum and sticks to the three pillars of the methodology: transparency, inspection and adaptation.
What is the difference between Scrum and Agile?
Scrum is often confused with Agile. However, these two terms describe very different concepts. Scrum proposes a specific methodology, while Agile is a way of thinking about software development. Scrum is a description of tangible processes to follow, while Agile is a way of thinking about software development, which is much more abstract.
Agile is very popular in software development, especially since the publication in 2001 of the Manifesto for Agile Software Development, which has become the reference on the subject, describing four values and twelve principles. The Agile values are as follows:
- people and their interactions rather than processes and tools,
- operational software rather than comprehensive documentation,
- collaboration with clients rather than contractual negotiation,
- adapting to change rather than following a plan.
The "Agile methods" are therefore the methods that respect the values of this approach. Thus, Scrum is an Agile method, since it is based on iterative and adaptive cycles called sprints.
What is a sprint?
Sprints are short iterations of development, usually from one to four weeks, and marked by several meetings.
- The sprint starts with the planning (or sprint planning), where the features to be developed are decided.
- During a sprint, the next sprint is already being prepared: the development team carries out a costing (or poker planning) to estimate the development effort required for the expected features. This information is particularly useful during the sprint planning, to decide which features to integrate, according to the priorities and availability of the development team.
- Each day of the sprint, the development team meets for the daily scrum. It allows each collaborator to inform the others of his or her progress and of any blockages that could impact the progress of the sprint.
- The sprint ends with the sprint review and the retrospective. The sprint review allows you to assess the features developed, compared to what was planned. And the retrospective allows us to discuss the progress of the sprint: what worked and what could be improved. The review concerns the product, while the retrospective concerns the teams and the organization.
How is Scrum used at exolis?
At exolis, a sprint lasts four weeks and follows the same sequence for each iteration.
Before the start of a sprint
The expected functionalities are described in user stories (US). They are written by our product manager and our project managers on our dedicated tool, Taiga. The workload for each US is estimated by our developers during the costing process. Combined with the priorities, the costing allows the product manager and the scrum master to create the sprint planning.
During a sprint
When the sprint starts, the planned US are assigned to the developers. Every morning, the developers meet for the daily scrum, during which everyone describes what they did the previous day and what they plan to do during the coming day, and discusses any sticking points.
After the sprint
At the end of the sprint, the retrospective takes place, which brings together developers, project managers, infrastructure administrators and quality managers. During the retrospective, the problems that arose during the sprint are raised, and the positive events are highlighted. A summary of what has been put in place to resolve the issues identified during the previous retrospectives is also presented. Finally, a demonstration of the US made during the sprint is made by the developers to the whole company: the objective is that all the teams are informed of the latest features of the application.
All these steps, which we have been repeating for a few years now, have allowed us to improve our internal organization and have made our product more and more suitable for our customers.
Article written by :
Chloé LODOLO, developer at exolis