580 likes | 1.66k Views
Presented at Agile on the Beach (16th September 2011) <br><br>Although a great deal of the enthusiasm for Agile development initially grew from software developers, much of the current focus in Agile circles has moved to organisational aspects, product management and soft skills. Craftsmanship has long been a quality and a metaphor applied to software development, but more recently software craftsmanship has emerged as a more explicit movement and branding focused on reclaiming and re-emphasising the importance of the detail, of how to code and how to do it well. <br><br>There are many different perspectives on what the craftsmanship metaphor implies and what benefits and liabilities it may have. This session lays out and explores the motivation, implications, pros and cons of a craftsmanship view of software development.
E N D
A Question of Craftsmanship @KevlinHenney
The engineering is the art, The engineering is the art, and the art is the engineering. and the art is the engineering. Cecil Balmond http://www.newscientist.com/article/ mg21128272.700-olympic-sculpture-is-a-marvel-of-mathematics.html
There is an art, craft, and science to programming that extends far beyond the program. The act of programming marries the discrete world of computers with the fluid world of human affairs. Programmers mediate between the negotiated and uncertain truths of business and the crisp, uncompromising domain of bits and bytes and higher constructed types.
http://fragmental.tw/2009/04/29/tag-clouds-see-how-noisy-your-code-is/
http://fragmental.tw/2009/04/29/tag-clouds-see-how-noisy-your-code-is/
Anyway, the point I'm making is that we need to be very careful. Just as they're doing with management consultants, sooner or later our customers will figure out that the management practices of Agile don't deliver working software any more than they can grill cheese or power an electric bicycle. Jason Gorman, "We Emulate Management Consultants at Our Peril" http://parlezuml.com/blog/?postid=946
The business of software is software. We don't make bean bags and we don't sell ice cream, even if that's what will solve the customer's problems. We make working software. And the Manifesto for Agile Software Development is a manifesto for doing it better. Jason Gorman, "We Emulate Management Consultants at Our Peril" http://parlezuml.com/blog/?postid=946
If you don't know how to make software, then I'm afraid you've boarded the wrong train, my friend. This train is going to Better Software. The train for Management Snake Oil leaves from a different platform. You can't miss it. It's made of invisible gold and it runs on magic beans. Jason Gorman, "We Emulate Management Consultants at Our Peril" http://parlezuml.com/blog/?postid=946
Graphic by Sebastian Hermida http://sbastn.com/2009/06/typing-is-not-the-bottleneck/
David Schpilberg, Steve Berez, Rudy Puryear and Sachin Shah "Avoiding the Alignment Trap in Information Technology" MIT Sloan Management Review
We have been up all night, my friends and I, [...] we have been discussing right up to the limits of logic and scrawling the paper with demented writing. Our hearts were filled with an immense pride at feeling ourselves standing quite alone [...]. We want to sing the love of danger, the habit of energy and rashness. The essential elements of our poetry will be courage, audacity and revolt. [...]
People in high tech take pride in their work. They are individuals who see the details of the things they produce in the light of the trials and triumphs they experience while creating products. In the courage of creation, they find a place to hang their individuality. Programmers and techno types appreciate elegant, spare code and the occasional well-turned architectural hack. Rick Levine, Christopher Locke, Doc Searles and David Weinberger The Cluetrain Manifesto
Craftsmanship has been Craftsmanship has been used for centuries for used for centuries for the successful the successful transmittal of skills and transmittal of skills and the development of the development of communities of practice. communities of practice.
A capsule definition of engineering, independent of any discipline, as you're likely to find: the set of practices and techniques that have been determined to work reliably through experience. Glenn Vanderburg http://confreaks.net/videos/282-lsrc2010-real-software-engineering
Structural engineering is the science and art of designing and making, with economy and elegance, buildings, bridges, frameworks, and other similar structures so that they can safely resist the forces to which they may be subjected. The Institution of Structural Engineers
Software engineering is the science and art of designing and making, with economy and elegance, applications, bridges, frameworks, and other similar structures so that they can safely resist the forces to which they may be subjected.
http://www.computerworld.com.au/article/216844/a-z_programming_languages_awk/
http://www.computerworld.com.au/article/216844/a-z_programming_languages_awk/