I spend a good deal of time trying to make myself a better Scrum Master (see blog). This means reading lots of books, a great deal of googling and reading many blogs. Recently I ran into one called Coding Horror by Jeff Atwood.
He had a great entry about Discipline in software development.
I had the same conversation with a colleague of mine years ago when I was first introduced to Agile development. My argument went something like this. Left to their own devices, software developers are a fairly undisciplined lot. Every methodology of the last 40 years or so are merely a response from management to attempt to bring some order and discipline to software developers (and by extension software development). I joked with him that I should come up with the next fad, called disciplined development, throw a few buzzwords and ceremonies into it and then I could make a killing as a consultant. I mean isn’t that what every methodology fad has been so far?
Continue reading It's the Discipline Stupid →
For the sake of full disclosure I am not a big fan of organized religion. I truly believe that each and every individual has their own needs when it comes to “spiritual” matters and there are many ways to achieve the basic human need to feel connected to our fellow humans and the universe as a whole. Perhaps this is what has me cautious about the state of Agile today in that it taking the appearances of a religion or cult. Like many religions the actual meaning behind the religion are lost and all that remains is a slavish flowing of fundamentalist dogma (words taken as literal truth) and ceremony. Agile says that we need to do this so we had better do this before someone calls us out as heathens.
One of the really irritating thing for me is when Agilistas talk wistfully about their brush with greatness as in I was at the Agile conference and actually touched the cloak of (enter your favorite Agile deity here). Hey, I can respect these guys, but they are like all humans fallible. They may have put forth some great ideas, but quoting a source by authority alone is a weak argument. To be an effective argument one must not only quote a chosen one, but also give evidence as to why this particular bit of wisdom is applicable to whatever context one finds oneself.
Continue reading Agile as Religion →
Agile, while light on “metrics,” does have some artifacts that are used to help track progress. Burndown and Burnup charts are extremely helpful in measuring sprint progress and helping to correct course. Capacity and velocity measurements are great at helping us determine how and what to plan for a sprint and a release. These are important measures in determining if we are going to deliver working software on a regular basis, but I don’t think they tell the whole story. In order to measure how far we have come (and how far we may still need to go), I have come up with another method of measuring progress, the Agile Principles survey.
In 2001, the Agile Manifesto and Agile Principles was ratified and published. It is these principles that form the basis of Agile, no matter what methodology you choose to implement. To me this is the big picture. We may (or may not) complete all stories in a sprint, we may (or may not) find a consistent velocity, etc., but if we do not do well at following the overriding principles can we say that we are truly Agile? Maybe, maybe not, but I doubt we could call ourselves Agile “mature.” In the end, we are all a bunch of scrum butts and Agility is not binary. Agility is a continuum. Just because we are used to thinking in terms of black and white and 1s and 0s, does not mean that the world (or Agile) falls into our neat little categories. It irks me to no end when someone tells me that a team is not Agile. Every team is Agile, but it is a matter of degree. No team is 0% and no team is 100%.
Continue reading Measuring Agile Progress – Not Losing Sight of the Big Picture →