General
Working is a minimum requirement.
Started about 25 years ago. Jack Reeves prposed that creating software was more design than engineering Pragmatic programmer subtitle was “from Journeyman to Master Craftsman”
“We feel that there is no point in developing software unless you care about what you do”
Definition of Craft - “skill in making things by hand”. Definition of Pride - “A genuine deep satisfaction derived from one’s own achievements”
It is all about nurturing the skill
“Software Craftmanship” book by McBreen
Developers shoud direct their learning. Craftmanship is about getting better at Software Development Great software deserves to be signed
Uncle Bob suggested that the agile manifesto should be ammended and “Craftmanship over crap” be added. This was then ammended to “Craftmanship over execution” Martin Fowler - Craftmanship and the crevasse
- Embrace constant learning
- Learn through diverse experiences and swaps
- Programmers should learn through others
- Need for mentorship / coaching
- Mastery ultimately comes through teaching others
- Promotes practices that lead to sustainable pace
- Encourages programmers to engage their customers directly
- Encourages the industry to recognize, value and reward mastery of skill
- Lower the barrier of entry through apprenticeship
- Encourages us to be accountable for our work
- Invokes a passion for developing the skill
“The Chef analogy”:
Ingredients = Languages & Tools
Recipes = Patterns & Practices
Chef strives for a great tase
Chef strives for high nutrition
Books on Craftmanship
References
Software Craftmanship Manifesto
My Review on the book ‘The Software Craftman”
How to make your culture work with Agile, Kanban, & Software Craftmanship
Training software professionals; just what the doctor ordered - Doc Norton SCNA 2010