André Morais, Project Manager & Bruno Grilo, Scheduling Team Leader, @SISCOG | 4 min read
A limited number of sprints, an unexpected pandemic forcing everyone to readjust to a new reality, lots of hard challenges that our client, a renowned transport operator, was waiting for us to address… Sometimes projects seem as far from a walk in the park as it's possible to get!
We knew we would have to carefully prioritize the backlog according to the client’s needs. We also had to maintain an interesting roadmap for the whole of the project. Having a self-organized team would be the only way to get a fair shot at meeting the commitment for each sprint. So there was zero room for latency in communication. Misunderstandings could be disastrous!
This meant that having the client onboard during the project was essential. As the project unfolded what we came to realize was that the more the client was involved the less it was necessary to manage expectations. We worked as a single team, as it is supposed to be.
This allowed us to finish the project within the required number of sprints, and still deliver an amazing staff planning solution that fulfilled the client’s needs. Whenever a user story had to be moved to the bottom of the backlog, it never caused any surprise to the client that it would not be implemented in the final solution: this would have been debated throughout the project and the client involved in all the decisions that lead to it.
Agile-thinking is a state of mind, we knew that. We started by following the methodology by the book, and ended up going the extra mile. I guess sooner or later everyone comes to realize, just as Neo did in The Matrix, that «there's a difference between knowing the path and walking the path».
"There's a difference between knowing the path and walking the path"
FROM THE PO’S POINT OF VIEW
When the Product Owner (PO) comes from the software provider, it is still essential for the client to be involved in some of the discussions. This client was new to Agile, and wanted to be able to establish the priorities throughout the project. So we proposed a setup where client representatives would be part of the team, involved in the backlog refinement, present in some of the daily meetings, and consulted in discussions about the business logic.
This allowed us to constantly manage client expectations over the course of the project, involving the client in the discussions where several alternatives would be discussed and their respective merits become clear.
Having the client present in several ceremonies helped fill in some gaps in the knowledge previously elicited, when the goals for the project had been discussed, the feature roadmap defined, and the initial backlog created. The feature roadmap was updated together with the client, whenever the backlog was changed in a way that affected it, thus removing any need for future clarification of the decisions made.
FROM THE SM’S POINT OF VIEW
Having the client in the team provided opportunities to increase the understanding of the issues and prevent situations where there would be impediments, and the Scrum Master (SM) would need to step in. Any client-related impediments were efficiently and quickly removed.
Even if, in the ceremonies, the team felt that they needed to be more careful with their words, and to avoid creating expectations, this kind of interaction was essential.
In fact, close contact with the client created a very positive environment for both sides. It also provided opportunities to see how the system was being used. This had an impact on motivation and led the team to excel, enabling a better fit of the system to the client.
Continuous delivery led to continuous training. Having the client in the team enabled a gradual and targeted learning process, where the client was using the released version and ended up profiting more from the topics discussed.
In the end, not only did this increase the quality of the final product, but it also led to a better usability.
Making the client part of the team ensured a smooth project, increased the quality of the final product and led to better usability.
CONCILIATING OPPOSING VIEWS
In the backlog refinement ceremonies, the Product Owner discussed priorities with the team and the client. Even if it is the team that decides the commitment, during these discussions there is always the need to manage expectations, when discussing the vision and goals.
Releases were planned together with the client, but it is up to the team to decide whether to commit to the issues intended for each release. So, here, the Scrum Master had to be extra careful in order to make sure that the team was comfortable with the commitments implied in the backlog.
While the Product Owner defined the roadmap together with the client and prioritized the backlog, discussing release content, the Scrum Master had to make sure the expectations discussed were feasible.
Having a clear separation of roles is essential in order to conciliate different concerns: the Product Owner’s concern with the value provided to the client and the Scrum Master’s concern with the Agile process and the team. This is another example of the many advantages of Agile methodology.
Making the client part of the team ensured a smooth project where everything seemed to fall into place, sooner or later. The communication flowed, which avoided needless waiting time. The team felt motivated and the issues were clear. The client was involved and expectations were constantly managed.
Agile-thinking is indeed a state of mind, and it grows on people, teams and organizations.
A disbeliever would say: «What are you trying to tell me? That I can dodge bullets?»
To which we would reply, as Morpheus did, «No, Neo. I'm trying to tell you that when you're ready, you won't have to.»