February 2014, 9:02 am the phone rings. A customer tells me he is very surprised, because the site we delivered to him the day before was not at all what he imagined. I look at the specifications with him, and realize that what seemed obvious to us a month ago is much more ambiguous today. We who thought we had finished a site, after a trying period of development are starting again from 0...
And then we met SCRUM!
Let's start from the beginning
We developed our first crowdfunding platforms with the extremely classic Waterfall methodology in project management. We had predefined specifications that we reworked to best meet the expectations of our customers and a delivery date. We then proceeded to the development of the platform. Then, after a test phase, we put it online.
But very quickly, we were faced with the following issues:
Incomplete specifications, which blocked the developer or forced him to make choices about the platform,
Significant tunnel effects during the development phase with an absence of interactions between the development team and the customer, which was all the more detrimental as we were responsible for developing innovative solutions requiring the customer to be involved in the choices development strategies,
Acceptance phases that took a lot of time to collect all customer feedback and significant developments to reschedule. We realized that many modifications would have been much easier to implement before,
An unmanageable schedule: it was impossible to reconcile our new developments with revenue phases with unpredictable durations.
We realized that while the Waterfall methodology worked well for standardized products, on the other hand, it was not at all suitable for the innovative solutions we were developing. These applications require a continuous and sustained involvement of the customer so that he is the decision maker of major directions and major changes in the development of their platform.
To avoid reproducing these errors, we have decided:
Standardize the identical functionalities on our platforms as much as possible,
And to adopt the SCRUM method for tailor-made developments so that each new platform can provide its share of innovative features.
SCRUM is the best of the existing agile methods because it is the only one to involve the customer in an intelligent way by regularly soliciting him as a decision maker on all the functionalities to be deployed and on the major pivots that may be necessary during the project implementation.
On top of that, it is an extremely productive method as it optimizes the time of the client and the developers. Thanks to daily customer reviews of the project, developers know exactly what to do, how to do them, and how quickly. From the first projects, we felt that this method had given a boost to our productivity and our organization.
What is important in the SCRUM methodology?
Adopting a methodology is not everything, it is still necessary to understand it. Before implementing it, we identified the main risks of the SCRUM methodology.
For the Product Owner
At the heart of this methodology is the Product Owner. His role is critical because he is the one who will plan the sprint by expressing his needs and defining his priorities.
In addition, it is he who will define the concept of work accomplished by validating the tasks of the development team. While our clients are demanding with us, we also place high demands on them so that they are the best Product Owners and are 200% involved in their project.
For the development team
During ceremonies, the main function of the development team is to translate and technically think about the client's expectations. During the planning of the sprint, she actively participates in the construction of the architecture of the platform while ensuring that the tasks assigned to her are well defined, doable and that their duration is fair.
At the time of the sprint review, the development team:
Details to the client his latest achievements in order to converge the client's desires with the work carried out,
And explains to her the potential technical difficulties she may have encountered while proposing a solution to overcome them.
The development team must know how to express a technical need, and its necessity to the product owner. We had to set up collaborative tools (Slack and Trello) to facilitate communication between the product owner and the development team. "Pedagogy is the art of repetition" some will say.
For the SCRUM Master
The SCRUM Master, for its part, is the guarantor of the correct deployment of the methodology. In concrete terms, he ensures that all project stakeholders know their role and ensures that the client's expectations are in line with the capabilities of the developers. He can make concessions on the principles of the methodology only when it helps to better involve the client.
In addition, he hosts the sprint retrospective, a ceremony during which the SCRUM team does an introspection and seeks to improve for the next sprint.
The advantages of the SCRUM methodology
Meeting SCRUM allowed us to have:
Achievement comfort for the development team since the team participates in the specification of tasks and the estimation of their completion time. This makes it possible to be more attractive in terms of recruitment.
More frequent and rigorous monitoring of projects which minimizes the risk of major delays,
A fruitful relationship between the client and the development team which increases the business understanding of our developers and the technical understanding of our clients,
Customers who are much more satisfied with their product because they are regularly involved in decisions. The acceptance phase is no longer long and complicated, but quick and done on the fly, which allows the customer to adjust the situation as soon as the design of the latter begins to deviate from his expectations.
Today, we are no longer a simple technical performer but we have an important role in the design of the project as well as in the pivots to be carried out. We are the ones who work with the customer to optimize both their product and the experience of their future users.
Obey the SCRUM methodology
What we have learned from the SCRUM methodology:
It must be followed to the letter to benefit from its many advantages because it is its constraints that make it so effective.
But there is a unique case where we think that we can deviate from the methodology: when the client is not involved enough in the development process because he is not receptive to the methodology, you have to know how to model it at the margin so that the product owner remains at the center of the project.