8th Light - The Principles of Craftsmanship

by John Turner

Posted on February 18, 2013


On Wednesday, in conjunction with Skills Matter, Paddy Power are hosting a talk by Bob Martin on ‘Components and Architecture’ (if you are in Dublin drop in!). This prompted a colleague to read some of Bob’s recent ramblings which brought him to a company called 8th Light. He forwarded a very interesting post on ‘The Principles of Craftsmanship.

During its conception, the founders of 8th Light ‘wanted to build a community of professionals who believed in their core that the best way to build software was to build it well.’ This led them to declare that they are principled and subsequently identify what those principles were. I’ve repeated them below:

Well-Crafted Software

  • We humbly demonstrate our expertise by delivering quality software.
    • We do not inflate our abilities or claim expertise where we have none.
  • We continually master a variety of technologies and techniques.
    • We do not let unfamiliarity dissuade us from using the best tools.
  • We take responsibility for the correctness of our code by testing it thoroughly.
    • We do not tolerate preventable defects.

Steadily Adding Value

  • We estimate with diligence.
    • We do not let fear or pressure make us promise what we can’t deliver.
  • We always apply our best efforts to complete our work.
    • We do not make excuses.
  • We work at a sustainable pace.
    • We do not burn out.

A Community of Professionals

  • We embrace differences of opinion and personality.
    • We do not allow our current practice to impede improvement.
  • We prefer open source tools that we can inspect, evaluate, and improve.
    • We avoid proprietary products that lack transparency.
  • We teach anyone with a willingness to learn.
    • We do not hoard our knowledge or practices.

Productive Partnerships

  • We show respect for our customers and fellow craftsmen.
    • We do not act unprofessionally or unethically.
  • We communicate our progress honestly and openly with our customers.
    • We do not conceal or embellish.
  • We partner with our customers to understand their business.
    • We do not propose solutions until we are sure we have found the right problem.

I can see these principles emanate from other companies with ThoughtWorks being one that immediately came to mind. One of the things that struck me was that all of the companies and organisations that I considered to be principled were independent technology led organisations as opposed to being technology enabled.

What I mean by this is that from inception, those technology organisations were founded by technologists and run as technology organisations. Sure, they needed financial backing, marketing, sales and of course customers but their DNA differentiated them as technology companies. It is this type of organisation that I consider technology led.

A technology enabled organisation is an organisation that was founded with little consideration for technology other than it will be required at some point in time, for some purpose. Technology is a service that will be consumed rather that being part of who we are.

I believe that it is very difficult for a technology enabled organisation to adopt and adhere to principles such as those adopted by 8th Light. They do not understand or appreciate the inherent value of technology but instead engage with technology as a service (be it internally or externally provided). This type of organisation values vendor management processes and techniques that often conflict with creating well crafted software, steadily adding value, communities of professionals and yes, productive partnerships.

In this context, what might prove more useful is for technology service consumers (i.e. the customer) to provide a complementary set of principles. They might go something like this:

Well-Crafted Software

  • We know what we don’t know and engage with professionals to fill the void.
    • We do not inflate our abilities or claim expertise where we have none.
  • We continually master a variety of technologies and techniques.
    • We do not let unfamiliarity dissuade us from using the best tools.
  • We take responsibility for our deficiencies and adopt new tools, technologies and techniques to improve our capability.
    • We do not blame others for our own inadequacies.

Steadily Adding Value

  • We engage with technology to produce realistic estimates with diligence.
    • We do not abdicate ownership of unrealistic estimates that we insisted were achievable.
  • We always appreciate your best efforts to complete our work.
    • We do not look upon reason as making excuses.
  • We set achievable targets.

A Community of Professionals

  • We embrace differences of opinion and personality.
    • We do not allow our current practice to impede improvement.
  • We support agents who bring positive change.
    • We do not undermine others for the purpose of optics.
  • We learn from anyone with a willingness to teach.
    • We do not worship false gods.

Productive Partnerships

  • We show respect for our technology partners and value their contribution.
    • We do not act unprofessionally or unethically.
  • We value open and honest communication and use it as a rein to direct our efforts.
    • We do not use it as a stick to whip our steed.
  • We partner with technology to deliver our business objectives.
    • We do not propose solutions but focus on defining and understanding the problem.