Monday, January 17, 2011

Software Craftsmanship: What it's all about.

TL;DR

I've gone from Dan North's post, to Gil Zilberfeld's to Michael Feather's to Jason Gorman's and back. And I'm at a loss.

Why is there a software craftsmanship movement?  What motivated it?  What drives it now?  One thing; and one thing only. 

We are tired of writing crap.

That's it.  The fat lady sang.  Good nite Gracy. Over and out. 

We're tired of writing crap. We are tired of embarrassing ourselves and our employers by delivering lousy software.  We have had enough of telling our customers to reboot at midnight.  We don't want bug lists that are a thousand pages long.  We don't want code that grows more tangled and corrupt with every passing day.  We're tired of doing a bad job.  We want to start doing a good job. 

That's ... what ... this ... is ... about.  Nothing else.

What we are not doing:

  • We are not putting code at the center of everything.
  • We are not turning inward and ignoring the business and the customer.
  • We are not inspecting our navels.
  • We are not offering cheap certifications. 
  • We are not forgetting that our job is to delight our customers. 

What we will not do anymore:

  • We will not make messes in order to meet a schedule.
  • We will not accept the stupid old lie about cleaning things up later.  
  • We will not believe the claim that quick means dirty.
  • We will not accept the option to do it wrong.
  • We will not allow anyone to force us to behave unprofessionally. 

What we will do from now on:

  • We will meet our schedules by knowing that the only way to go fast is to go well.
  • We will delight our customers by writing the best code we can.
  • We will honor our employers by creating the best designs we can.
  • We will honor our team by testing everything that can be tested.
  • We will be humble enough to write those tests first.
  • We will practice so that we become better at our craft.  

We will remember what our grandmothers and grandfathers told us:

  • Anything worth doing is worth doing well.
  • Slow and steady wins the race.
  • Measure twice cut once.
  • Practice, Practice, Practice.

I suppose that some people might look askance at our code katas and our code retreats, and our practice sessions.  They might think that we're turning inwards and abandoning our customers.  They might think that we've given up on the real world and have yielded to the temptation to entertain ourselves.  I can see how someone might come to that conclusion.

But they are as wrong as the day is long.  We are doing this because we care about the customer.  We are dedicating time and effort to being the best that we can be so that our employers will get the best possible value out of us. 

Do you think the only time musicians play their instruments is when they are on stage?  Do you think the only time that batters hit balls is during games?  Do you think the only time lawyers give a closing is at trial?  Of course not.  These people are professionals; and professionals practice!  Professionals study the minutia of their disciplines.  Professionals know all the little tricks and quirks.  They know the history, the theories, the anecdotes.  They know techniques and methods.  They know good options and bad options and how to tell them apart.  And they know all this stuff because they practice, practice practice.

So when you see someone wearing a green wrist-band that says "Clean Code" or "Test First" or "Test Obsessed", it's not because they've joined a movement, or signed a manifesto, or that they somehow feel superior to everyone else.  They aren't participants in a holy war.  They aren't trying to join a tribe and huddle around a campfire.  The green band is a personal thing.  It's a promise made to one's self:  "I will do a good job.  I will not rush.  I will write tests.  I will go fast by going well.  I will not write crap. And I will practice, practice practice so that I can be a professional."

 

 

20 comments:

  1. *yawn* non-statement.
    I am going to do my job.

    ReplyDelete
  2. Yep, but there is a long hard road out of hell to change developers mentality.

    ReplyDelete
  3. The real work is going to be to change managers' metality.

    ReplyDelete
  4. Gotta love'em ... those METAL managers.

    ReplyDelete
  5. The meetings in our Israeli software craftsmanship group are about not writing crap. I've presented about TDD there. People are interested in better software. Yet almost no one makes the connection between great code to business results.

    It's about perception. And that's how developers are perceived by the business people. The good intentions (and practices) are not communicated well to the business owners, and therefore all these talks about SOLID, TDD, etc. seem as "time wasters". It may be that it's the manager fault for not separating the "craftsman" from the "artist". But it doesn't matter - this just widens the gap between the two sides. It brings suspicion and negative feelings all round.

    Craftsmen may not be carrying flags. But they sure seem like that from a far.

    ReplyDelete
  6. @Gil Zilberfeld
    Do you have any cure for such situations?

    ReplyDelete
  7. Thank you for sharing with useful information. It was nice to read the review. Try to use outsource software development company thats allow you to get custom development software for your business.

    ReplyDelete
  8. Thank you for mentioning this. Many poker affiliates look for fresh lastest gaming affiliate programs at such comparison online gaming websites.

    ReplyDelete
  9. Thanks for well done posts. Let me mention about homeowners insurance for USA policy owners house protection providers. Compare free online rates on homeowners insurance.

    ReplyDelete
  10. I'm glad to know more and read this great review. Here we are willing to share with insurance instant quotes that is supported by common insurers. Customer could save on instant auto insurance rates which allow customers to apply for cheap policy.

    ReplyDelete
  11. I have just found the Press Releases and news about Green Coffee Bean Max, Zeta Clear, Provillus, Garcinia Cambogia Select, Raspberry Ketone Max, Breast Actives, Phen375, Triactol, Venapro, Wartrol and African Mango Plus on top Social media sites and Newspaper, so i thought to share it with you guys!

    ReplyDelete
  12. Dr. OZ has recently endorsed 4 products on his Show as best Fat Burner Supplement for quick and Safe Weight Loss! Garcinia Cambogia Select, Green Coffee Bean Max, Raspberry Ketone Plus and African Mango Plus are Those Top 4 Dr OZ Weight Loss Pills!

    ReplyDelete
  13. Garcinia Cambogia Select is a breakthrough medical discovery in natural health and wellness and in sustainable fat loss and weight loss. Garcinia Cambogia is a weight loss and eating disorder remedy. It is a safe and effective non-stimulant that is made from all-natural fruit extracts that are being used at a low or high dosage depending upon the desired result. Garcinia Cambogia Select leads in melting off the awful inches from your waist. It makes you attain the desired shape and a gorgeous flat belly that you have always dreamt of! The Garcinia Cambogia Extract could be the most recent fat loss solution which comes highly recommended by non other that Dr Oz in fact he calls the Garcinia Cambogia Extract the Holy Grail Of Weight-loss. For more review about Dr OZ Garcinia Cambogia Select, Visit www.garciniacambogiaselects.com or find complete Garcinia Cambogia Select Review at http://www.prweb.com/releases/garciniacambogiaselect/reviews/prweb10331994.htm

    ReplyDelete
  14. Provillus is rated hair loss product of the year for men and women hair loss! Provillus is FDA approved solution to stop hair loss and regrow hair back! Read Provillus review before order at www.managehairloss.com

    ReplyDelete
  15. I just found Review on Adiphene, Triactol, Provillus and ZetaClear, Phen375, Garcinia Cambogia Select and Acai Plus with Detox Plus Today, so thought it would be great piece of information to share!

    ReplyDelete