Person X: We are doing Agile for past so many years/months but I think it does not work. Me: Oh! is it? What do you mean by doing Agile? Person X: We follow the agile process. Me: What is Agile Process? Person X: We do Standup Meeting, Sprint/Iteration Planning Meeting, Showcase Meeting Me: What are the issues that you face? Person X: There is too much pressure to deliver every iteration/sprint. Every day we have to give status. Also, we have to get estimates from developers and with their estimates project can never be completed.
Over the last few years, I have had this conversation over and over again which makes me think, “Is Agile reduced to just a few ceremonies that needs to be followed dogmatically?” Somewhere in this journey practitioners have started focusing on the rituals and ceremonies and have lost focus on fundamental principles of Agile.
The use of word meeting is noteworthy in the above mentioned conversation. Standup and Showcase were thought of as not being meetings but over a period of time they have turned into classical meetings. I came across co-located teams that spends an hour everyday in a room for the so called standup meeting. Well, the idea behind standup is to make sure that the entire team understands, what each of the team member is doing and the road blocks that they are facing. There could be multiple mechanisms to achieve this and standup was supposed to be one such mechanism. Similarly, showcases are used as a mechanism to report status to the project manager and the team is supposed to answer the key question, “Will we get the release on the planned date?” The key objective of the showcase, to get the stakeholders’ and users’ acceptance and feedback on what has been accomplished, is completely ignored.
Below is a list of the key objective and also what isn’t the objective of each of the Agile rituals
In my experience of running Agile teams, the key to Agile’s success lies not the rituals but in the underlying principles and changing our approach to software engineering. In the zeal to prove that a team is Agile, practitioners are focusing on the rituals and are completely ignoring the fundamental changes to software engineering which includes, structuring of stories/requirements, structure of the code base, effective automation testing, CI/CD. Unless, the practitioners start focusing on the fundamental principles and software engineering, Agile will turn into yet another process that just does not solve the real problem of not being able to deliver quality software that meets user’s expectations.