Pragmatism is very important in software development, but that’s very different from not understanding why following patterns and practices is a good thing. Sometimes you have to get a piece of work out the door to hit an important deadline and make some money, but this does not justify doing it all the time as you’ll eventually end up with a big ball of mud.

On to the analogy. If you do forsake quality for speed, understand what you’re doing is buying your software on a credit card. Eventually you’re going to have to pay it back, along with the interest that will have accrued. If you leave it too long it will become unmanageable and you will go bankrupt (rewrite?!). There’s a very good reason why it’s called technical debt.

OK, sometimes (and really not as often as you think) you will have to do this, but make it clear to everyone involved that you will have to pay and the sooner you pay the less it will cost.

Jason Gorman recently tweeted “Programming as a life skill? Discuss.” Well how about “don’t spend what you haven’t got”? The world is in financial meltdown because people have been borrowing far more than they can realistically repay. Personally I don’t have a credit card or any debt for that matter. I believe that if you want something you have to earn it.

Writing poor quality software to get it out the door fast means you’re not paying for it’s true cost. Fine, just don’t stick your head in the sand and pretend the debt will go away because you’ll be the one paying for it.

The Plan Do Study Act Cycle
http://www.tin.nhs.uk/index.asp?pgid=1130

Clearly this has been in use by the NHS for quite some time.

It’s also known as the Deming or Shewhart Cycle: http://en.wikipedia.org/wiki/PDCA

W. Edwards Deming is the godfather of the Quality Management movement and a man I studied in great detail (but have since totally forgotten) in my Business and Quality Management degree, which I hated. I find it very amusing that half the reason I got into software development was because I was so disillusioned by my degree course and now I can’t go anywhere without hearing about the likes of Shigeo Shingo, TQM and JIT. The difference is now I understand exactly what they where talking about.