27 March 2012

On Guilds in Modern Times

The History Lesson
A guild is an association of craftsmen in a particular trade (Wikipedia.)

 Guilds were usually organisations that had an early form of accreditation and membership, often in the form of something called “letters patents” issues by the local lord. The result of this is an exclusive right to deal in a particular area. The guild would charge members a fee to join, and in return members would receive a right to practice their craft within certain jurisdictions.

As ‘professional’ organisations members would swear an oath of allegiance to the guild, much like members of modern organisations like PMI sign on to an ethics standard that implies certain behaviours and allegiances to the profession above and beyond the guild members’ other obligations to the customers.

Guilds ensured their dominance over labour markets by ensuring certain quality and performance standards were met through professional standards and through the apprentice, journeyman, master model. This model had a variety of consequences including the control of labour which ensured premium wages for guild members, and eventually a proliferation of specialisations within the guild.

This fragmentation eventually led to the end of guild dominance of the professions, as subgroups competed for dominance in their market.

There is a general view that the guild was essentially a racket which stifled innovation and creativity within industries. It was a classic example of the status-quo maintaining it’s power rather than seeking advancement in skills and techniques that would benefit the industry and the community it served. Guilds primarily served their members to the disadvantage of both later generations and the community or customers they serviced.

The Guilds of Today 
Today many guilds still exist, especially in the creative industries. Some guilds wield large amounts of power, such as the groups that manage and protect the interests (including intellectual property) of writers and artists.

We can see that guilds can still be overly focused on the short term goals of protecting the status-quo over being responsive to future members and the communities they purport to serve.

Newer guilds (like in the software craftsmanship movement) don’t tend to have the tremendous amount of power and influence that large and established guilds demonstrate and wield, but they clearly have that tendency.

So when we talk about guilds in the software craftsmanship or IT domain what do we mean?

The term was pressed into duty because we wanted to draw on the strengths of the master-apprentice model. We want to acknowledge that the most effective way to transmit complex knowledge or knowledge of complex information is through mentorship, and oral tradition.

I have two questions out of all this;

  1. Are we stealing the word and re purposing it? Or are we in the business of building up a power base with a view to protecting member interests over the world around us? 
  2. Is the Master Apprentice model the best one for where we want to go, and are the assumptions that underlie it valid? Can you help?


  1. Hi Craig,

    Great post! Modern day guilds do tend to protect the status quo rather than encourage craftsmanship.

    You've probably seen this conference note by Jon Whitty which makes an eloquent plea for modern day PM guilds to foster craftsmanship:


    IMO a master-apprentice model is still the best way to do this but I'm not sure how professional guilds can help as it needs to be more than just mentoring.



    1. Kailash,

      The consulting model of leading with a partner and getting a junior to do the grunt work strikes me as a viable pathway.

      Add to that that pairs of workers generally do better quality than singular ones and there is an opportunity.

      The challenge is for orgs that are too focused on cost to the exclusion of value.

  2. Actually, I am not a big fan of "craftmanship" overall for software development. If anything, we should be trying to move to an engineering basis, as indeed many engineering schools are already supporting.

    Master/Apprentice is a model that existed in the past because there were no schools yet. It was the way to pass on the skills. Apprenticeship still exists for trades today, one of my sons following that path to being a truck mechanic (man, does he get dirty at work!). It was a mix of attending college and working at a truck dealership, with experienced people of course... but with a Master (Yoda)? I don't know, although one holdover is that I believe "Master Mechanic" is what you become after finishing your apprenticeship. But, I don't believe there is guild-like organization, the standards and such are all government defined now.

    Software development has had something similar since at least the 70's, the 'co-op' program. You attend university for a term, then work at a company for a term, and repeat until graduation; wish I had done it, also helped people I knew with getting money for tuition!

    Now, having a good Mentor is still a good thing, in almost any line of work. Finding one is always recommended.

    So, "guild" is a concept I don't think we need... and an 'oral tradition'? that pre-dates the modern era of wide-spread literacy; I write stuff down for a living, so count me out on that one.

    But, I do agree that software development is something new and different than building bridges or anything else physical. An engineering approach may not be exactly right either, but I see it as a good option to start from.

    I am, umm, too 'mature' to have attended school when engineering schools widely taught software engineering. I recall some push-back from engineers when concepts like Information Engineering were floated in the 70's and 80's. I think I would like to hear from people who took this path in school, see what they have to say about it... anyone out there?

    1. Dave, a good question. I did some teaching within an SE degree. (I studies business and management.) The orientation is in how to create expertise in individuals.

      That's nice, but given so much of our project and product development issues are beyond the boundaries of the delivery team I think we need something more general and accessible.

      SE disciplines work well in certain domains, but aren't universally appropriate. I don't know what the answers are.