Sunday, July 1, 2012

Technical Problems and People Problems

'The major problems of our work are not so much technological as sociological in nature.'
-- Tom DeMarco and Timothy Lister
Not the catchiest title
Why is a 25-year-old computer book still as important today as it was 1987? You're not likely to read a programming book from the 80's in order to learn anything useful for your job today. In fact, one of the small hardships of being a serious developer and spending much of your free time improving yourself is that every book you buy is out of date a year after you buy it.

So what's so great about Peopleware? Despite the constant changes in technology, there is an element of development that has little to do with technology and that will never change. It's people.

Check this out. DeMarco and Lister analyzed hundreds of failed projects over a decade and found that in all cases there was 'not a single technological issue to explain the failure'. This is a remarkable fact. Very few developers are dealing with bleeding edge technology that may or may not live up to the job. Most of us are just solving problems with other smart people. Coming to agreement about what the problem is that we need to solve is the hardest part.

Peopleware is written with the manager in mind, but, since leadership is not synonymous with management, it can still help you work on a team successfully. It can also help you determine if your current or future boss is a good manager. As DeMarco and Lister write,
'Most managers are willing to concede the idea that they've got more people worries than technical worries.  But they seldom manage that way. They manage as though technology were their principal concern. They spend their time puzzling over the most convoluted and most interesting puzzles that their people will have to solve, almost as though they themselves were going to do the work rather than manage it. They are forever on the lookout for a technical wiz-bang that promises to automate away part of the work. The most strongly people-oriented aspects of their responsibility are often given the lowest priority.'
One big problem with IT management is that most developers become developers because they like development. If they have the leadership abilities to become managers--or if they get promoted anyway--it's hard for them to help themselves from getting involved in technical problems, to the detriment of the sociological or people-issues that they should be dealing with. It's just too easy to fall into those old habits. I think I could be a good manager, but I know that I like development so much I'm not sure I'd be willing to give it up--at least not any time soon.

'Democrat' and 'Republican' have
become dirty words--hopefully
'Business' and 'IT' haven't done
the same in your office
Of course, it's not only in IT that people tend to ignore the sociological or people element. The same thing happens in politics all the time. In my work at the Kettering Foundation, I saw that people will almost always try to talk about technical fixes rather than getting down to discussion about trade-offs, winners and losers, and sacrifices. We trade 'solutions' (small government or big government), but we don't really talk to one another about what we'd be willing to give up to get what we want. We don't discuss what we want health care or immigration reform to do, but we have no shortage of technical fixes to make the problem go away.

Even when we know what the solution should be, like a two-state solution for the Israel-Palestine conflict, we often have no idea how to go about doing it. That's because solving people problems is a lot harder than coming up with technical solutions. What we can do is a whole lot easier than how we're going to do it. For this reason, Peopleware is going to stick with me a long time.

No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...