‘Let us propose an
agile based approach for this project. That will help us compress the schedule
and include multiple releases. I don’t think waterfall approach is going to
help in making a competitive proposal. We must deliver this project faster with
high quality and competitive cost. In order to win, our approach has to be
agile based.’ Sounds familiar?We hear suggestions like this more frequently than ever these days in discussions on creating competitive proposals. These are business discussions with your senior leaders and pre-sales teams.
Let me ask. Does agility guarantee faster delivery? Undoubtedly, yes is the only right answer to make some business sense and gain the goodwill of project sponsors but there are other answers too. I am writing this article to present my thoughts and find an answer to this question.
Certainly, adopting an agile approach is a way to enhance visibility and predictability on project progress. However, can you enforce an iterative schedule and scope on your project team so that you gain the advantage of compressing the overall schedule and cost of your project? When you enforce a pre-planned schedule and scope – however well concerted it may be, you are not empowering your team to inspect, adapt and learn. This approach will lead to ‘command and control’ culture. Is there an alternative? Yes. There is.
First, your customer and other stakeholders need to know the essence of agility and agile methods. They need to know that an agile approach can enable your team move forward, learn and make things faster provided they are given the right set of tools, infrastructure and governance support to evolve and improve from iteration to iteration. There has to be a good match of mindset and culture.
Second, the product owner or someone who is responsible to provide requirements need to believe in prioritizing user stories or features at regular intervals – and practice it. Moreover, she must be willing to let go some of the low priority features if the release timelines are critical. You can’t do without an effective product owner.
Third, there has to be continuous collaboration in terms of participation in meetings, issue resolution and product demonstrations. Genuine feedback is essential – without this you can’t avoid last minute surprises. For this your product demonstrations and team retrospectives need to be effective.
Fourth, the team members need to be skilled, self-enabled and aligned to perform. Have you ever observed how rowing happens when a team of ten or more team members attempt to sail through and win a trophy? Skills and competencies are necessary. With these, alignment is paramount too. Without alignment the rowing boat cannot travel in the right direction. This is where ‘shared vision’ comes in to play. Establishing a shared vision and aligning your team cannot be ignored at any cost.
Fifth, your governance team and customer representatives who are part of the governance team must be able to understand and appreciate technical issues and challenges in the project instead of focusing on getting as many features or user stories done in every iteration.
When you have all these - as well as many other things that I have not explicitly mentioned about, in place, you and your team will be able to maintain sustainable pace, introspect, learn and continuously improve. That is agility.
Does agility guarantee faster delivery? It does not guarantee faster delivery because software projects come with several variable factors and the dynamics can be complex. However, agility can lead to faster delivery.
More than what you estimate and propose, focus on how you execute, enable, learn and improve. When you do that, agility can lead to faster delivery!