(2009-07-23) Demarco Atwood Spolsky Contra Software Engineering
Tom De Marco writes (pdf): My early Metrics book, Controlling Software Projects: Management, Measurement, and Estimates (1986), played a role in the way many budding software engineers quantified work and planned their projects. (Software Engineering) In my reflective mood, I'm wondering, was its advice correct at the time, is it still relevant, and do I still believe that metrics are a must for any successful software development effort? My answers are no, no, and no... The book for me is a curious combination of generally true things written on every page but combined into an overall message that's wrong... Strict control is something that matters a lot on relatively useless Projects and much less on useful projects... To my mind, the question that's much more important than how to control a software project is, why on earth are we doing so many projects that deliver such marginal value?... For the past 40 years, for example, we've tortured ourselves over our inability to finish a software project on time and on budget (Project Failure). But as I hinted earlier, this never should have been the supreme goal. The more important goal is (Disruptive) transformation...
Jeff Atwood reacts with It's as if a crushing weight has been lifted from my chest. I can publicly acknowledge what I've slowly, gradually realized over the last 5 to 10 years of my career as a software developer: what we do is craftsmanship (The Craft), not Engineering... The guys and gals who show up every day eager to hone their craft, who are passionate about building stuff that matters to them, and perhaps in some small way, to the rest of the world - those are the people and projects that will ultimately succeed.
Joel Spolsky notes how much of his "test" CheckList he ignored in launching Stack Overflow with Jeff. I have pretty deeply held ideas about how to develop software, but I mostly kept them to myself. That turned out to be a good thing, because as the organization took shape, nearly all these principles were abandoned... In summary, Jeff and I made six major mistakes. Oddly, though, none of it mattered... If I had tried to make him play by my rules, I don't think the project would have come together, at least not as well as it has. The truth is, the three guys who coded Stack Overflow are great programmers. They're smart, and they get things done. And in the end, that's what really matters. Entrepreneurship boils down to the simple fact that a team of really smart people who can get things done are going to get smart, useful things done.
Edited: | Tweet this!