Article

Articles

tagged with heroics  Show All

2 articles tagged with heroics

Craftsmanship over Heroics by Dave Hoover.

Not categorized. Tagged with customers and heroics.

I'm still thinking about Uncle Bob's talk at Agile 2008 after returning to Obtiva's Software Studio after a few weeks away.  One of the things he talked about was valuing "Craftsmanship over Crap".  After I spoke briefly with him afterward, it didn't seem like there was much more to his statement than simply promoting craftsmanship.  And that's fine by me, but I tend to be someone who picks up ideas like this and play with them for a while.  In my last post, I reworked "Craftsmanship over Crap" into "Craftsmanship over Heroics", and I'd like to say a bit more about why I chose heroics.  But first, I'll need to rewind the clock a bit.

In 2002, I read Pete McBreen's Software Craftsmanship.  I read a ton of great books that year.  Pete's book ranked near the top because of the ideals and structure that it described.  Similar to Kent Beck's Extreme Programming Explained, as I was reading the book I kept telling myself "this is how I want to work".  One of the themes of Pete's book is that "Software craftsmanship is built on top of long-term relationships that are grounded in a reputation for delivery."  One of the most satisfying aspects of pioneering Obtiva's Software Studio has been building the foundations of long-term relationships with our customers.  It's incredible how much ceremony and waste can be thrown out the window once a customer and development team can trust each other.  Watching some of Pete's ideals unfold in front of my eyes has solidified these ideals into hard won experience.

Unfortunately, like most developers who find a technique and use it successfully, it can be overused.  And by this I mean, letting all process fall away and simply execute your customer's every whim at maximum speed.  For me, this inevitably devolves into heroic programming.  There are times when you need a bit of heroism on a project, but this shouldn't happen more than a few times a year.  I recently found myself in a feedback loop of doing heroic programming at 2AM (and injecting bugs in the process), seeing some benefits, receiving praise from customer, fixing bugs the following night at 2AM (and injecting bugs in the process), seeing some benefits, receiving praise from customer, and on and on.  This is why the term "heroic" came to mind so quickly for me when I heard Uncle Bob. I've seen first-hand how a relationship with a customer can be taken too far and produce crap.  The obvious superior alternative is to stay disciplined, to maintain a healthy relationship with your customer, protect your sleep habits so that you're at your best, and to uphold your standards of craftsmanship.


Uncle Bob on Craftsmanship at Agile 2008 by Dave Hoover.

Not categorized. Tagged with agile, heroics, sterile and values.

I had the pleasure of listening to "Uncle" Bob Martin last night at Agile 2008 while we were eating dinner.  Bob is hands down the most entertaining speaker I've ever heard at a conference, and I've had the pleasure of listening to him at several of the Agile conferences.  The beautiful part is that while he entertains, he always has an important message, and his message this year was right on the money.  Never one to shy away from big ideas, Bob proposed to add a 5th value to the Agile Manifesto: Craftsmanship over Crap.  It was great to hear Bob continue to beat the craftsmanship drum, and Bob's slant on craftsmanship is all about professionalism.  He drew a wonderful comparison to the history of medicine when some hospital administrator discovered that having his doctors wash their hands lowered the hospital's mortality rate.  The critical tie-in for me was Bob's final words that "doctors don't have time to wash their hands," drawing a parallel with how often developers rush through our work without writing tests and keeping our code clean.

The problem with Bob's proposal is that it doesn't quite fit with the other agile values. There is no value in the item on the right!  I suggest we reword it to "Craftsmanship over Heroics".  While there are times that we need to be heroic for our customers, making a habit of heroic coding ends up producing crap and burns people out.


 

Copyright O'Reilly Media

Powered by Near-TimeTerms of Services | Privacy Policy | Security Policy |