Peopleware – Book Review
Peopleware 2nd Edition
Productive Projects and Teams
By Tom Demarco and Timothy Lister
Peopleware is a timeless book on the human side of making software. We have all encountered many of the anti-patterns described in the book personally or anecdotally through co-workers. My Grandmother who was a COBOL programmer in the 70’s and 80’s can relate to the human aspects of software development. In Grandma’s opinion, job satisfaction is all about who you work with. The ornery guy in her department who played practical jokes is an example of someone who got away with wasting everybody’s time. He enjoyed tweaking the software so it would clear all fields at random intervals! Then he’d get a grin on his face to tell you who was responsible (seems like many diabolical evil doers just want attention). Working with motivated talented people makes the hours fly by. Turns out it is also good for the bottom line too. Peopleware shows this and backs it up with data.
Aside from the team, management’s philosophy on software is very important. As a software professional, it is favorable to work for a software company as opposed to another type of business. A company that views software as a cost puts software professionals in the same category as “IT”, as opposed to R+D where they belong and can flourish.
Peopleware goes on to show how human behavior is baked into the process of building software, whether we like it or not. The idea that history repeats itself is evident in how software works out. We make the same mistakes over and over, forgetting the wisdom of the past. There’s a great quote from Battelestar Galactica – “All this has happened before, and all this will happen again”.
Take the crash of Netflix in the fall of 2011.
Netflix’s stock went from above $300 to $77, representing a 75% loss in value over four months. Netflix might not seem like software at first glance. However, practically speaking, 99.9% of interaction with them is through a Web based UI – and that counts as software. Leading up to the crash, Netflix executives might have been thinking – “With Qwikster, we will differentiate ourselves in the marketplace, create a streamlined user experience! The financial statements will be clearer since mailed DVD’s and streaming internet really are separate businesses! Plus we’ll spell Quickster with a Qw to copy Qwest, since that’s trendy!”. Sounds like a Dilbert cartoon to me.
If the Netflix executives would have read Peopleware they would have seen this quote:
Nextflix forced an untested change down paying customer’s throats! Qwikster may have very well been a better alternative for customers, but they rejected it because of the way the change was communicated.
Does this mean we never make changes? No.
The book points out that to help foster change we need to:
- Celebrate the way things used to be done.
- Point out positive reasons for moving ahead such as: business opportunities that are now attainable, previously unavailable technology.
- Include the ‘old’ people in the change and give them a stake in it.
A senior engineer I work with once framed it like this: “Our software was built with a model-T transmission, which is what we had at the time (2001). If you want to put in an automatic transmission, great!”.
So what about history repeating itself?
If all software professionals read this book, would every project be released on time with no burnout, turnover, or teamicde? Maybe, but the nature of business could get in the way:
- There will always be non-software managers at the helm who feel empowered to make decisions (poorly).
- There will always be competition for resources and risk taking in business. This leads to the following anti-patterns that come from underfunding:
- Excessive overtime.
- Lack of skills allocated to project, perhaps knowingly to save money.
- Documentation, testing, best practices thrown out the window.
I am not expecting we all go out and demand perfect working conditions and twice the budget. One thing we can do as software professionals is recognize the situation and communicate it diplomatically to our superiors.
Other Interesting Notes:
- Organizational busy work tends to expand to fill the working day. – pg 29
- Quality is a means to higher productivity (in software).
- Good people gravitate towards good organizations. “While this 10:1 productivity differential among programmers is understandable, there is also a 10:1 difference in productivity among software organizations.” – Software Productivity, pg 48.
- Cornell experiment that showed listening to music occupies the right brain and blocks creative potential when working on a logic problem. So much for using Pandora!
- There is a Danish law that requires every employee in an office to get a window. Narrow buildings result. I love it!
- “The ultimate management sin is wasting people’s time.” pg 215 – Is it a meeting or a ceremony?
- Managing smart people is really about getting out of their way. My best managers get this. The micromanaging types fail at this.