Software Craftsmanship
Encyclopedia
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 developer accountability.

Historically, programmers have been encouraged to see themselves as practitioners of the well-defined statistical analysis and mathematical rigor of an engineering approach
Software engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...

 with the connotations of predictability, precision, mitigated risk and professionalism. This perspective led to calls for licensing, certification and codified bodies of knowledge as mechanisms for maturing the field.

The Agile Manifesto, with its emphasis on "individuals and interactions over processes and tools" questioned some of these assumptions. The Software Craftsmanship Manifesto extends and challenges further the assumptions of the Agile Manifesto, drawing a metaphor
Metaphor
A metaphor is a literary figure of speech that uses an image, story or tangible thing to represent a less tangible thing or some intangible quality or idea; e.g., "Her eyes were glistening jewels." Metaphor may also be used for any rhetorical figures of speech that achieve their effects via...

 between modern software development and the apprenticeship model of medieval Europe.

Overview

The movement traces its roots to the ideas expressed in written works. The Pragmatic Programmer
The Pragmatic Programmer
The Pragmatic Programmer: From Journeyman to Master is a book about software engineering by Andrew Hunt and David Thomas, published in October, 1999.Characteristics of a Pragmatic Programmer: The Pragmatic Programmer: From Journeyman to Master (ISBN 0-201-61622-X) is a book about software...

 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
Freeman Dyson
Freeman John Dyson FRS is a British-born American theoretical physicist and mathematician, famous for his work in quantum field theory, solid-state physics, astronomy and nuclear engineering. Dyson is a member of the Board of Sponsors of the Bulletin of the Atomic Scientists...

, 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."


Following initial discussion, conferences were held in both London and Chicago, after which, a manifesto was drafted and put online to gather signatories. This was followed by the development of practices to further develop the movement including the exchange of talent in "Craftsman Swaps" and the assessment of skills in "Craftsmanship Spikes"

History

In 1999, The Pragmatic Programmer
The Pragmatic Programmer
The Pragmatic Programmer: From Journeyman to Master is a book about software engineering by Andrew Hunt and David Thomas, published in October, 1999.Characteristics of a Pragmatic Programmer: The Pragmatic Programmer: From Journeyman to Master (ISBN 0-201-61622-X) is a book about software...

 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
Robert Cecil Martin
Robert Cecil Martin, known colloquially as "Uncle Bob", is an American software consultant and author. Martin has been a software professional since 1970 and an international software consultant since 1990. In 2001, he initiated the meeting of the group that created Agile software development from...

 proposed a fifth value for the Agile Manifesto, namely "Craftsmanship over Crap". He later changed his proposal to "Craftsmanship over Execution".

In December, 2008, a number of aspiring software craftsmen met in Libertyville, Illinois
Libertyville, Illinois
Libertyville is an affluent northern suburb of Chicago in Lake County, Illinois, United States. It is located west of Lake Michigan on the Des Plaines River. The 2000 census population was 20,742; the 2005 estimate was 21,760...

 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, 8th Light and Obtiva, experimented with a 'craftsman swap'. The Chicago Tribune covered this event on 15 June 2009

In May, 2009, Adewale Oshineye held a seminar for the aspiring software craftsman in London.

In May, 2009, Enrique Comba Riepenhausen started The Wandering Book initiative. The Wandering Book is a book that travels from craftsman to craftsman capturing the current thinking about the Zeitgeist
Zeitgeist
Zeitgeist is "the spirit of the times" or "the spirit of the age."Zeitgeist is the general cultural, intellectual, ethical, spiritual or political climate within a nation or even specific groups, along with the general ambiance, morals, sociocultural direction, and mood associated with an era.The...

 of the Software Craftsmanship
Software Craftsmanship
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 developer...

 movement.

In August, 2009, the first Software Craftsmanship North America conference was held in Chicago.

In October, 2009, the book Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman was published by O'Reilly

In December, 2009, Obtiva published the idea of Software Craftsmanship Spikes to accompany Craftsman Swaps.

In January, 2010, a second Craftsman Swap was held between Obtiva and Relevance

In August, 2010, the London Software Craftsmanship Community was founded.

In October, 2010 a second Software Craftsmanship Conference was held in Bletchley Park
Bletchley Park
Bletchley Park is an estate located in the town of Bletchley, in Buckinghamshire, England, which currently houses the National Museum of Computing...



In October, 2010 a second Software Craftsmanship North America was held in Chicago
Chicago
Chicago is the largest city in the US state of Illinois. With nearly 2.7 million residents, it is the most populous city in the Midwestern United States and the third most populous in the US, after New York City and Los Angeles...



In March, 2011 a third Software Craftsmanship Conference was held in Bletchley Park
Bletchley Park
Bletchley Park is an estate located in the town of Bletchley, in Buckinghamshire, England, which currently houses the National Museum of Computing...



In September, 2011 International Software Craftsmanship and Testing Camp Unconference
Unconference
An unconference is a participant-driven meeting. The term "unconference" has been applied, or self-applied, to a wide range of gatherings that try to avoid one or more aspects of a conventional conference, such as high fees, sponsored presentations, and top-down organization...

 was held in Johannesberg, Bavaria
Johannesberg, Bavaria
Johannesberg is a community in the Aschaffenburg district in the Regierungsbezirk of Lower Franconia in Bavaria, Germany.-Location:...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK