Software Craftsmanship

From Wikipedia, the free encyclopedia

Jump to: navigation, search

Software Craftsmanship is an approach to software development that emphasizes the coding skills of the software developers themselves. It is a response by software developers to the perceived ills of the mainstream software industry, including the prioritization of financial concerns over code quality.

Historically programmers have been encouraged to see themselves as practitioners of Software Engineering with all its connotations of predictability, mathematical precision, controlled risk and professionalism. This perspective lead to calls for licensing, certification and codified bodies of knowledge[1] as mechanisms for advancing the state of the industry.

The Agile Manifesto, with it's emphasis on "individuals and interactions over processes and tools" questioned some of these assumptions. The Software Craftsmanship Manifesto extends the Agile Manifesto, by using the same textual structure, and further challenges these assumptions[2] within the intellectual context provided by a set of books which all make reference to a craft metaphor and the guild systems of medieval Europe.

Contents

[edit] Overview

The movement traces its roots to the ideas expressed in written works. The Pragmatic Programmer by Andy Hunt and Dave Thomas and Software Craftsmanship by Pete McBreen explicitly position software development as heir to the guild traditions of medieval Europe. The philosopher Richard Sennet wrote about software as a modern craft in his book The Craftsman. Freeman Dyson, in his essay "Science as a Craft Industry", expands software crafts to include mastery of using software as a driver for economic benefit:

"In spite of the rise of Microsoft and other giant producers, software remains in large part a craft industry. Because of the enormous variety of specialized applications, there will always be room for individuals to write software based on their unique knowledge. There will always be niche markets to keep small software companies alive. The craft of writing software will not become obsolete. And the craft of using software creatively is flourishing even more than the craft of writing it."

[edit] History

In 1999 The Pragmatic Programmer was published. Its sub-title, "From Journeyman to Master", suggested that programmers go through stages in their professional development akin to the medieval guild traditions of Europe.

In 2001 Pete McBreen's book Software Craftsmanship was published. It suggested that software developers need not see themselves as part of the engineering tradition and that a different metaphor would be more suitable.

In his August 2008 keynote at Agile 2008, Bob Martin proposed a fifth value for the Agile Manifesto, namely "Craftsmanship over Crap". He later changed his proposal to "Craftsmanship over Execution".[3]

In December 2008, a number of aspiring software craftsmen met in Libertyville, Illinois with the intent of establishing a set of principles for Software Craftsmanship.

On February the 26th 2009 the first international Software Craftsmanship Conference was held in London.

In March 2009, after ongoing conversation, a summary of the general conclusions was decided on. It was presented publicly, for both viewing and signing, in the form of a Manifesto for Software Craftsmanship.

In April 2009 two of the companies in the software craftsmanship movement experimented with a 'craftsman swap.'[4]

In August 2009 a second conference was held in Chicago. [5]

[edit] Further reading

[edit] External links

[edit] References

  1. ^ [1]
  2. ^ [2]
  3. ^ http://www.infoq.com/news/2008/08/manifesto-fifth-craftsmanship
  4. ^ http://www.venturacountystar.com/news/2009/Jul/13/employee-swap-gives-two-firms-new-perspectives/
  5. ^ http://scna.softwarecraftsmanship.org/