If you haven't read Pete McBreen's Software Craftsmanship, go out and get a copy now. It's a really good book about how and why software development is in such a dysfunctional state.
Here's McBreen's thesis in a nutshell: «Software Engineering» as we know it is something that was developed by NATO to facilitate the development of missile control systems -- big pieces of software that cannot fail, regardless of cost. Also, team size is irrelevant, and interchangeable developers is also a benefit if not a requirement.
The problem: the vast amount of software being developed or used today does not fit these criteria. It tends to be developed by small teams, with limited resources and a level of tolerance for the occasional non-critical bug. The best software that sits outside this big-budget NATO/Software Engineering model tends to be created by small numbers of exceptionally talented people. Masters of the art of software if you will.
We've seen this model before -- look at cabinetmakers, plumbers, electricians or blacksmiths. Once we discount for the abberations that actually require a "software enginnering mindset", we're left with the same model of personal development that the crafts have used for centuries (if not millenia). No one in his right mind would expect an apprentice who just learned how to use a lathe to be able to construct a nine piece dining room set. Yet that's exactly what we do in software. And we kid ourselves by saying it's OK, because there's a manual, a set of instructions, and an endless supply of "junior grade laborers" who can be thrown at the project.
I lent my copy of this book to Damian when he arrived to North America in June, and he kindly remembered to return it to me at TPC last week. I also talked it up to a bunch of Perl Hackers at the conference.
It's quite surprising how good this book is, and how few people know about it.
What's next on my reading list? Pete McBreen's Questioning XP. :-)
I've added it to my want list.
That he did so in a way that didn't get my "software developer as artiste" hackles up is doubly admirable