Organized and controlled agility serving the needs of fixed-price projects
Christophe Pouly | Technical Director Digital Commerce
Michel Mariën | Managing Director Digital Commerce
When a service provider is engaged in a "fixed-price" project, it is generally done that way with the aim of controlling the initial budget and keeping to a very precise delivery schedule and a scope of clearly identified features. In contrast, the "agile approach" (rather than the "agile method"), involves reasoning in terms of "product management" and not "project management". Is it possible, then, to successfully undertake an agile project in fixed-price mode? How can the constraints of a fixed-price contract be combined with the cultural changes imposed by agility?
For several years now, agility has been in favor and has gradually wiped out other methods, like the famous V-Model in place since 1980. Yet, the agile approach, its philosophy, spirit, and even its movement imply a real change of culture and reasoning that project protagonists sometimes forget. Indeed, it can be said that agility favors collaboration with the client rather than a contract, operational software rather than precise and comprehensive documentation, and adapting to change rather than sticking to a detailed plan and fixed dates.
WELL THEN? IS AGILITY FOR EVERYBODY?
It is perfectly feasible for a person to handle the organization of their wedding in Scrum, using a few post-it at home. Similarly, a golf association can set up its website by following an identical approach. A software editor, or an R&D department, can also find it easier to apply the principles of agility, since the notion of a fixed-price contract either does not exist for them, or if it does, it is much more flexible. However, as for a client with terms of reference running to 300 pages and 1,200 pages worth of specifications, and who chooses the cheapest possible offshore-mode service provider, that client will find it more difficult to follow agile concepts. It would certainly not be the best solution, at any rate! However it is, of course, possible if everyone is prepared to accept a few changes in the way they view the success of a project, whether it be the client, who will have to involve itself throughout the project, or the service provider, who will need to equip itself effectively with appropriate tools so as to ensure that the processes are as smooth as possible.
Yes, everyone can become agile… but to varying degrees and with differing levels of integration.
IN THE END, IS THE CLIENT FORCED TO ABANDON THE IDEA OF A FIXED BUDGET?
The client must, above all, be conscious that it is at the heart of its project, that the service provider is no longer a subcontractor but a partner, and that the risks are shared. When the client wants a change to be made, it must be aware of, and accept, the effects that such change can potentially have not only on the scope, but also the schedule and even the budget.
It may seem obvious when presented outside the context of a project, but when you plan for, cost, and schedule 10 features, then change the requirements mid-project, and end up choosing to have 15 features, it inevitably has an impact somewhere. The agile approach does not stamp out this type of impact, but it does, however, offer several possibilities for taking the change into account.
BEWARE OF PRECONCEIVED IDEAS ON AGILITY:
- On an agile project, there are no specifications
- Agility? No, there are no processes
- Agile projects are difficult to maintain due to a lack of documentation
- The agile approach is restricted to "small" projects
- Thanks to the project's agility, the client can change its mind or make modifications all the time
In fixed-price mode, it is the duty of the service provider to ensure that the client does not hold these preconceived ideas, since otherwise, were there to be difficulties with the project, the impact would be catastrophic. For Keyrus Digital, it is by working very closely with the client that a "product backlog" can be drawn up before the start of the project (scoping and/or "Sprint 0" phase). Very often, this very short phase, in which the "high-level scope" is defined and validated, is in fact undertaken on a time-and-materials basis for 3 to 4 weeks. That allows the client to already incorporate a few changes thanks to the advice dispensed by Keyrus Digital's functional and technical experts. The "product backlog" is then assessed and compared with the initial cost estimate made during the pre-sale phase. If the client does not have financial leverage, to keep to the initial budget the scope can then be revisited by withdrawing a few lower priority features (editor's note: thanks to the iterations that are part of the agile approach, this is also the case when the "sprint backlogs" are established).
The whole team can then commit to the project in fixed-price mode, whilst at the same time continuing to be agile.
The contract then no longer relates to terms of reference, but to a "product backlog" established and validated by all those involved. Everyone thus feels responsible.
AND FOR THE SERVICE PROVIDER? HOW DOES IT MANAGE THE
The agile approach is, indeed, oriented more towards the product than the project, but it also favors the human element more than the tools and processes. Can that be adapted to a fixed-price project? What team should be put together so as to work according to an agile approach? At the time the project is launched, transparency and trust are two fundamental aspects within the team. Communication between business analysts and developers is, of course, essential to ensure consistency between what has been requested and what is undertaken. The Scrum Master is also there to support all team members and help them achieve their objectives.
All the tools and processes must thus be clear, simple, fluid, and swiftly effective, so as not to hamper individuals and the interactions between them on the project. Everything must slot into place naturally in order to optimize exchanges between individuals and provide the solution to the constraints faced by the project, such as the very fact that it is being undertaken on the basis of a commitment to a fixed-price.
Continuous integration, remote or offshore working, sharing of the documentary repository, monitoring of test campaigns, presentation of "sprint planning" and "sprint backlogs", automation of integration tests and code analysis,… at Keyrus Digital, each choice of tools and implementation of a process has been considered at length so that it fits intuitively and ergonomically into fixed-price agile projects.
AND DOES IT REALLY WORK?
Certainly, that is all well and good on paper. But there can always be a feature that turns out to be more complex than was thought and that derails the project a little, or things that come up unexpectedly at the last minute and cause part of the architecture to have to be revisited… And within a fixed-price project, the management of risks always requires full attention and mobilization.
The agile approach does not resolve all problems. To think it does would be a mistake. However, it proposes solutions for avoiding them or managing them more effectively. It is above all thanks to your entire body of experienced teams, intuitive tools, and processes offering structure and reassurance, that the agile approach enables you to organize and control your fixed-price projects more effectively.
A FEW PRINCIPLES BEHIND AN ORGANIZED AND CONTROLLED AGILE APPROACH:
- Satisfy the client with scheduled and regular deliveries but do not rule out intermediate deliveries
- Accept last-minute changes? Yes… but only changes that are justified and necessary. Know when to say no, and do not give in to all the client's requests
- Plan a stabilization "short sprint" at the end of the project, but also mid-project, to avoid anomalies piling up, because agility does not prevent bugs
- Strengthen technical excellence by integrating tools like SonarQube or Selenium which enable the quality of deliverables to be improved
- Using internal audits, regularly check that tools and workflows are being properly used and followed. A technical project manager or the Scrum Master is responsible, for example, for the consistency of Jira Agile dashboards
- Implement appropriate KPIs to heighten the developers' awareness of the rate of User Stories feedback necessitating corrections or additional work
ABOUT THE AUTHORS
Christophe Pouly is Technical Director, Digital Commerce within the Keyrus Group. He has more than 17 years' experience in project consulting, expertise, and management in various fields such as e Commerce, new technologies, and software engineering. For the last 6 years, with Keyrus Digital, he has integrated "Agile" approaches into all projects, notably by implementing tools and processes tailored to the needs of clients and teams.
Michel Mariën is Managing Director of the Digital Commerce competence center of the Keyrus Group. He is responsible for the French and Tunisian Digital Commerce business unit as well as for developing Keyrus's Digital Commerce skills centers throughout the world. With more than 15 years' experience of Connected Commerce projects, undertaken in a variety of business sectors and with numerous clients, including both those with local operations and others with a global reach, Michel is capable of meeting any challenge to make the most of its potential.