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?
This is not that Agile won’t work or Waterfall sucks or….I happen to think that true Agility in software development is important and very applicable to many development situations. The issue is not whether Agile or Waterfall is best. I contend that each has its place and can be successful. However, I would contend that neither can be successful without Discipline.
I would also guess that one reason why Agile has been marginally more successful than traditional Waterfall approaches is that time boxing short iterations will actually force a level of discipline into the process that is inherently greater than other methodologies. I mean delivering working software very two weeks takes more disciplined focus than delivering once at the end of a long period of time. It’s hard to hide every two weeks, but it is really easy to be “90% done” for a few months.
In fact, as Agile continues to evolve I believe that what will gain the most traction are those things that introduce the most discipline into the software development process. So if someday soon you hear the term DSP (Disciplined Software Process) you should be happy to know that not only did I coin the term, but my consulting business is thriving. Thank you very much.