Brian Bailey Preface to the Revised Edition

Developer Freedom

Six Apart recently hosted a one-day hacking session for their developers. This was a chance for each member of their team to work on a missing feature or bug that he or she is passionate about. Ben Trott tells the story of how it came to be. Here's an overview of what they accomplished. The Feedburner team had a similar hackathon in July.

Why is necessary and, more importantly, why does so much cool stuff come out of it?

Any development is driven by priorities. Whenever a large project is completed, another one is always waiting for you. Every developer has a growing list of missing features and annoying bugs that they would love to take care of, but there is inevitably a whiteboard full of higher priorities.

If these things get ignored indefinitely, it begins to impact the morale of both the developers and the users. It's as if you've started to paint the living room, but the masking tape and drop cloth are still in the middle of the bedroom. Small features and minor bugs do matter, and for a substantial number of your users, they matter more than the MyApp 9.0 release you're planning for next year. Taking care of the low-hanging fruit is also a great way to show momentum, which always attracts more interest.

It's also critical to remember that developers are creative people. If they aren't allowed to express that creativity in what they do, they will soon look for other creative outlets. Imagine a writer for a newspaper, website, or magazine who never has the opportunity to propose a story or work on an article of personal interest.

Developers care about what they do. Give them opportunities to take ownership and you'll be blown away by the results.