Gerald Weinberg's classic, The Psychology of Computer Programming, had a huge influence on my life. After reading it in high school, I discovered I didn't want to be a computer programmer. Don't get me wrong: Some of my best friends are programmers, and computer science was one of my majors. But Weinberg's portrait of what programmers did and how they did it . . . well, I felt that his book could have also been called The Pathology of Computer Programming.
Now, I'm a big fan of Weinberg's work on requirements and walk-throughs, and I got a huge kick out of his extraordinarily clever books on consulting and technical leadership. So when the Silver Anniversary edition of Psychology recently appeared, I wanted to see if my response to the original edition was precocious or merely immature.
Re-reading the book was a bracing experience: Weinberg's Psychology is a classic because he identified an issue that was going to become more important with time - the care and feeding of programmers and programming teams. Even as a teen-age geek with an Imsai and Plato access, I sensed that technological issues were subordinate to human issues.
Then again, it was clear that computers were going to change everything. The challenge was going to be to figure out how: Would software be the product of personal or interpersonal genius? But I never dreamed that the business world Weinberg described would be as immature and irrational as my high school.
Stupid me! Weinberg clearly believed in managing teams more than managing technology. Even more, he believed in managing dysfunctional teams. He understood that managing people's weaknesses and flaws is as important as managing their strengths. Frankly, I was frightened by a book about managing organizational misfits masquerading as a book about systems design. Weinberg's insights simultaneously struck me as wildly clever and stupendously insulting: If a programmer is indispensable, get rid of him as quickly as possible.
In his Silver edition, Weinberg notes that he's been thanked countless times for that particular management epiphany. I'm still struck by the number of firms that don't appreciate this kind of design heuristic. But as Weinberg notes, ". . . the lack of software skill was never the problem. Lack of managerial skill was always the problem; lack of software skill was merely a convenient excuse for those managers who lacked esteem."
I'm not a touchy-feely kind of guy, but I recognize that the fundamental truth Weinberg zeroed in on decades ago was that it would be the touchy-feely issues - not new tools, technologies or languages - that would have the big-gest impact on the quality of software development. Like Fred Brooks' Mythical-Man-Month, Weinberg's Psychology endures because it recognizes that organizations are prisoners of their pathologies.
What technology offers is a new lens and lever into organizational interactions and innovation. For that reason, I was a bit surprised that Weinberg's update didn't talk about the role of rapid prototyping, joint application development and other methodologies designed to link software development, managerial development and organizational development more creatively. But still, it's astonishing how relevant the book remains.
For me, re-reading Psychology was less a trip down memory lane than a reminder of a hard-won lesson: In a time of technological turbulence and digital discontinuity, management leverage often comes from those things that don't change - despite our best efforts.
(Schrage is a research associate at the MIT Media Lab and author of No More Teams! His E-mail address is firstname.lastname@example.org.)