Friday, September 23rd, 2016
An Agile adoption has the potential to super-charge results. The methodology is simple, rational and makes complete sense. Agile is simple to explain and understand, but not easy to do.
Agile is disciplined. Let me repeat: Agile is disciplined. It takes patience and diligence to practice agile correctly. Agile is disciplined because providing concrete, measurable business value in the form of working software each iteration is incredibly tough because you actually have to do your job. Undisciplined IT professionals hide behind detailed documentation, reviews, or other questionable forms of traditional “earned value,” which are little more than promises to deliver something at some point in the future.
Agile is also a disciplined process: you have to perform your daily stand-up meeting every day, you have to hold the sprint meeting, update your project backlog, and above all, you have to hold the retrospective meeting at least every month. It is the team’s responsibility to ensure the proper and very frequently performance of the agile practices.
For a good development team to work as a great agile team, they must split big user stories in small tasks and send commits several times a day. They must do pair-programming, testing and continuous integration. They must have a shared code ownership and a “we are all in this together” mentality. It requires discipline to be responsible for the entire system, not just your little part of it, motivating you to work closely with and thereby learn from people with different backgrounds than your own.
It requires discipline on the part of management to stay out of people’s way and allow them to self organize, even when it’s clear that the team is likely making a mistake, and not try to plan everything in detail for the team. Providing people with learning opportunities such as this can be frustrating at times but is absolutely critical for growing your staff.
Summing-up: Agile software development, when done properly, is highly disciplined. Agile is much more highly disciplined than traditional development. If anyone tells you that Agile isn’t disciplined, then ask if they have ever been involved with an Agile project, delivering working software on a regular basis, embracing change, working in an open, collaborative, and self-organizing manner.