‘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. The 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!
Find out more about Agile Testing here.
Raja Bavani is Chief Architect of Mindtree and plays the role of Agile Evangelist. He has more than 20 years of experience in the IT industry and has published papers at international conferences on topics related to code quality, distributed Agile, customer value management, and software estimation. He is a member of IEEE and IEEE Computer Society. He regularly interfaces with educational institutions to offer guest lectures and writes for technical conferences. He writes for magazines such as Agile Record, Cutter IT Journal, IEEE Software and SD Times. His blogs are available at http://www.blogs.mindtree.com/author/raja-bavani and http://www.se-thoughtograph.blogspot.in.
He can be reached at firstname.lastname@example.org.