HOME

TheInfoList



OR:

Software craftsmanship is an approach to
software development Software development is the process of designing and Implementation, implementing a software solution to Computer user satisfaction, satisfy a User (computing), user. The process is more encompassing than Computer programming, programming, wri ...
that emphasizes the coding skills of the
software developer Software development is the process of designing and Implementation, implementing a software solution to Computer user satisfaction, satisfy a User (computing), user. The process is more encompassing than Computer programming, programming, wri ...
s. It is a response by software developers to the perceived ills of the mainstream
software industry The software industry includes businesses for development, maintenance and publication of software that are using different business models, mainly either "license/maintenance based" (on-premises) or " Cloud based" (such as SaaS, PaaS, IaaS, ...
, 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 a scientific approach with computational theory. This has changed to an engineering approach with connotations of precision, predictability, measurement, risk mitigation, and professionalism. Practice of engineering led to calls for licensing, certification and codified bodies of knowledge as mechanisms for spreading engineering knowledge and maturing the field. The
Agile Manifesto Agile software development is an umbrella term for approaches to developing software that reflect the values and principles agreed upon by ''The Agile Alliance'', a group of 17 software practitioners, in 2001. As documented in their ''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 between modern software development and the
apprenticeship Apprenticeship is a system for training a potential new practitioners of a trade or profession with on-the-job training and often some accompanying study. Apprenticeships may also enable practitioners to gain a license to practice in a regulat ...
model of
medieval Europe In the history of Europe, the Middle Ages or medieval period lasted approximately from the 5th to the late 15th centuries, similarly to the post-classical period of World history (field), global history. It began with the fall of the West ...
.


Overview

The movement traces its roots to the ideas expressed in written works. ''
The Pragmatic Programmer ''The Pragmatic Programmer: From Journeyman to Master'' is a book about computer programming and software engineering, written by Andrew Hunt and David Thomas and published in October 1999. It is used as a textbook in related university courses. ...
'' 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 Sennett Richard Sennett (born 1 January 1943) is an American sociologist who is the Centennial Professor of Sociology at the London School of Economics and former University Professor of the Humanities at New York University. He is currently a Senior F ...
wrote about software as a modern craft in his book The Craftsman.
Freeman Dyson Freeman John Dyson (15 December 1923 â€“ 28 February 2020) was a British-American theoretical physics, theoretical physicist and mathematician known for his works in quantum field theory, astrophysics, random matrix, random matrices, math ...
, in his essa
"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".


Manifesto

From th
Software Craftsmanship website


History

The origins of software craftsmanship came from the
agile software development Agile software development is an umbrella term for approaches to software development, developing software that reflect the values and principles agreed upon by ''The Agile Alliance'', a group of 17 software practitioners, in 2001. As documented ...
movement which aimed to reform software project management in the 1990s. In 1992, Jack W. Reeves' essay "What Is Software Design?" suggested that software development is both a craft and an engineering discipline. Seven years later, in 1999, ''
The Pragmatic Programmer ''The Pragmatic Programmer: From Journeyman to Master'' is a book about computer programming and software engineering, written by Andrew Hunt and David Thomas and published in October 1999. It is used as a textbook in related university courses. ...
'' 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 keynote a
Agile 2008
Robert C. Martin 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 is a village in Libertyville Township, Lake County, Illinois, Libertyville Township, Lake County, Illinois, United States. It is located west of Lake Michigan, approximately 40 miles north of the Chicago Loop. As such, it is part o ...
, with the intent of establishing a set of principles for software craftsmanship. Three months later, a summary of the general conclusions was decided upon. 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 The ''Chicago Tribune'' is an American daily newspaper based in Chicago, Illinois, United States. Founded in 1847, it was formerly self-styled as the "World's Greatest Newspaper", a slogan from which its once integrated WGN (AM), WGN radio and ...
covered this event on 15 June 2009. In January 2010, a second Craftsman Swap was held between Obtiva and Relevance. The 'London Software Craftsmanship Community' (LSCC) was founded in 2010 and is today the largest and most active Software Craftsmanship community in the world, with more than 5000 craftspeople. In 2014, Sandro Mancuso, one of its co-founders, published a book ''The Software Craftsman: Professionalism, Pragmatism, Pride''. It brought the software craftsmanship movement additional visibility, reinforcing the efforts to achieve higher technical excellence and customer satisfaction.


References


Further reading

* * * * * * * {{cite book, language=fr, first=Sallah, last=Kokaina, title=Software Craftsmanship: L'art du code et de l'agilité technique en entreprise, publisher=Editions ENI, year=2019, isbn=978-2-409-02154-1, url=https://www.editions-eni.fr/livre/software-craftsmanship-l-art-du-code-et-de-l-agilite-technique-en-entreprise-9782409021534


External links


Software Craftsman - what it is and what it isn't

Software Craftsmanship North America

Software Craftsmanship Manifesto

London Software Craftsmanship Community

Latvian Software Craftsmanship Community

Software Craftsmanship Community in Barcelona

Software Craftsmanship Discussion Group

Applying Software Craftsmanship to Big Teams
Computer programming