Agile Development is like Teaching an Elephant to Dance
Related Topics: Agile DevOps
by Dov Rosenberg –
Circus trainers that work with elephants are either the craziest people alive or the smartest. I suspect that judgment is reserved until we either read about one getting crushed or amazed by a dancing elephant video on YouTube. In either case, the process that a trainer goes thru to teach an elephant to dance is the same. Slow and methodical requiring repetition and consistency. These are the same characteristics of successful companies that use agile development methodologies.
Contrary to popular belief, agile is not about speed and cutting corners. It is about keeping focused on the job at hand and minimizing the amount of work in process at any given point in time. Trying to do 1,000 things at the same time only ensures that none of them will be done correctly or on time. Successful agile teams are not composed of teams of super geniuses or people that work 80 hours a week. Successful agile teams have learned to operate at a SUSTAINABLE pace that produces the highest quality work in the shortest period based on their size and capacity. The capacity of a team will grow as their confidence in their ability to deliver improves with each successful sprint. A team that flails around trying to constantly put out fires and fixing past mistakes is only going to implode and disintegrate. They are always in crisis mode.
So how does a project team learn to work at a sustainable pace? Whips and threats are not terribly effective on people and only work for so long on elephants before they decide to take matters into their own hands (or feet). It is important to build a sense of ownership from the team and to help them feel empowered to improve what they are responsible for. Here are some thoughts to consider:
- New teams can’t be pushed to work at the same pace as an established team at the beginning. They need time to find their sustainable pace and settle into a routine that works for them.
- The biggest killer to establishing a sustainable pace is unpredictable workloads. A two-week sprint is less than 10 days of development once you factor in testing. Having the focus of a project team change in the middle of a sprint is a recipe for disaster in terms of building a sustainable pace.
- The ability to handle change in project scope is the basis of the success of Agile. However, that change must be controlled by a rigorous governance process that ensures that the work that is in process is either completed or shelved properly. New work should be scheduled into a future sprint, not in the middle of the current one. Use a shorter sprint cycle if this continues to be a problem.
- Quality is never compromised. Cutting corners to meet a deadline is like jumping out of a plane without using your parachute because you didn’t want to refold it when you were done. Schedules can be adjusted, bad code lives forever. There is never time to do it right the first time, but there always seems like there is time to fix it later. If something is taking too long – it is time to look at how the problem is being solved and whether it should be broken apart into simpler chunks.
Closing thoughts on change
- “People are very open-minded about new things, as long as they’re exactly like the old ones.” —Charles F. Kettering
- “Change is inevitable—except from a vending machine.” —Robert C Gallagher
- “Everyone brightens the room. Some when they enter. Some when they leave” – Anonymous
- “If you’re in a bad situation, don’t worry it’ll change. If you’re in a good situation, don’t worry it’ll change.” – John A. Simone, Sr.
- “Faced with the choice between changing one’s mind and proving that there is no need to do so, almost everyone gets busy on the proof.” – John Kenneth Galbraith