Agile Software Needs Craftsmen
Note: I originally posted this on a personal blog site in July of 2014
So, you want to be an Agile shop. You’ve read all kinds of cool stuff about Sprints, and WIP limits, and daily stand-up meetings. You even think you get this crazy User Story and Planning Poker stuff. You put together a room with snacks and lava lamps. You have all of your stories in a cool ALM tool like VersionOne and displayed on a wide screen TV. So you’re ready to go, right? Well….maybe not. You are missing the most important part….the people. Remember that one of the principles of the Agile Manifesto is to “Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.” In order to be successful, we need more than just motivated individuals, we need motivated Craftsmen.
Lets start with a disclaimer. I use the term Craftsman in a gender neutral sense. If folks feel like I should change this to Craftspeople, let me know and I will. I get a lot of inspiration from the Software Craftsmanship movement, which tends to use the word Craftsman.
So what is a Craftsman, and what does that have to do with Agile? Agile is hard. It is a very highly disciplined approach to software development. It also is very fast moving. If we expect to be able to “welcome changing requirements, even late in development”, we need to have people with a high degree of skills in order to do that. A craftsman is someone who takes the craft of programming seriously. One who will not do garbage work, and will not accept garbage from her peers. Lets take a look at the values delineated in the Agile Manifesto:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
We’ve all seen these many times, but let’s now look at the Craftsman’s Manifesto. You can find a link here: Manifesto for Software Craftsmanship
Not only working software, but also well-crafted software
Not only responding to change, but also steadily adding value
Not only individuals and interactions, but also a community of professionals
Not only customer collaboration, but also productive partnerships
So really, they are symbiotic. A well performing Agile shop will have Craftsmen as the vital part of their team. A team of Craftsmen, by their very nature, will be embracing those values and principles of the Agile Manifesto. So don’t forget the people as you build your Agile shop. Create an environment that encourages those great practices like Test Driven Development and Continuous Integration. Allow your team members the freedom to practice their craft, and the opportunities to enhance their craft. In the end, you will have your motivated individuals who will delight in getting the job done.