The Reports of Agile’s Death have been Greatly Exaggerated

The Reports of Agile’s Death have been Greatly Exaggerated

Screen Shot 2016-06-22 at 8.25.56 AM

Twain quip aside, the posts about how agile is dead are rather frequent, with their either salacious or juicy narratives depending on your own experiences.   Have their been failures?  Of course.  Dogma and religious zealotry stemming from a lack of understanding of the fundamental principles are the root of these.  With the frequent blind thrusts into agile over the last 15 years, the examples of failed implementations are everywhere.  It’s like taking jabs at Clayton Christiansen’s “Innovator’s Dilemma”.  Kinda missing the point.  Because a bunch of people have lost their way, should we go back to big massive Gantt charts and a rigid project plan with rigid requirements?

The notion of software development agility (best paired with lean approaches) is a noble pursuit but there are some important principles that seem to be lost on many people:

  • Every situation is extraordinarily different.  The people involved, the problems to solve and tolerances for risk are wide ranging ingredients and they morph over time.  Be prepared to keep adapting your recipe to the ingredients you have to work with
  • Software development requires discipline to do it well.  You need experts.  They are not cheap (individually).  Typists are cheap though.  Might want to avoid them
  • Software development is complex and entropy is always trying to creep in.  Realize that up front and be prepared to battle complexity mercilessly and control entropy losses
  • Bet on small (as in “two pizza” teams)
  • You can’t possibly know everything upfront.  Plans are worthless but planning is indispensable
  • Always understand the most important problems to be solving (ask “Why?” a lot).  Filter out the noise
  • Tackle the highest risk stuff first and try to uncover unknown risks early and only when you know the important problem to be solving
  • Fail as fast as you possibly can with solid feedback loops to validate/invalidate thinking and guide the way forward
  • Ship often, learn the important lessons, adapt continuously
  • Figure out a good way to measure the value you are delivering (there are so many ways) and make sure the team is focused on these metrics.  Like so much here, this might have to evolve too.  (to my own team: I know I can get better at this myself)

Even with these principles in mind, there is another critical ingredient: Effective leadership that adapts.  Without that, these principles and practices invariably drift into irrelevance.

The following two tabs change content below.

Mike Hansen

Head of Products at Sonatype
Relentlessly working to surround myself with technical people better than me, making sure they have what they need to excel and when appropriate, quickly getting the *#$& out of the way. And, when not busy doing that, playing the piano or looking for the next Colorado 14er to climb (30 bagged to date).

Related posts