Monday, March 30, 2009

Low Quality Software

I just made the following post to the Software Craftsmanship Google Group:

On Mar 29, 11:11 pm, Klaus Hebsgaard wrote:
> I totally agree, but for us in this mailinglist it is very clear what
> craftmanship is, and why it is good.
> But most people don't understand that there is high quality and low quality
> software.


If I go to wall-mart and buy a low-quality shirt - sure, it may look a little odd and a button may fall off, but, for the past, I can wear it, and it is suitable as clothing.

If I buy wall-mart quality /software/, on the other hand, the risk is that it simply does not work.

I'm fond of this quote, by John Ruskin:

"It's unwise to pay too much - but it's worse to pay too little. When you pay too much you lose a little money, that is all. When you pay too little, you sometimes lose everything, because the thing you bought was incapable of doing the thing you bought it to do. The common law of business balance prohibits paying a little and getting a lot. It can't be done. If you deal with the lowest bidder, it's well to add something for the risk you run. And if you do that, you will have enough to pay for something better!"


Friday, March 6, 2009

Development Katas

As many people in the software craft movement have pointed out, it's very hard to focus on reflective improvement while you are coding. In fact, the nature of your work (maintenance, time pressure) may make it hard to develop specific skills like design or clarity of code.

So why not do specific exercises outside of work, designed with the intent to sharpen our thinking - perhaps in public under scrutiny?

Micah Martin has proposed such "katas", based on martial arts. It's interesting stuff and there's video.

What are your favorite developer (or maybe test) katas? I intend to make a list.