Peopleware: Productive Projects and Teams (Second Edition)
Peopleware is one of the most significant books ever written about pitfalls and best practices of software development. This timeless book was written by two software consultants Tom DeMarco and Timothy Lister from their vast experience in the world of management of software development. Authors provide insights into processes and environment of software development that are backed with many statistical data collected over the course of their professional lives. There are currently 3 editions (published in 1987, 1999 and 2013) each bringing new observations and statistical data with a few changes and corrections to the prior edition. This review is based on second edition which was current release at the time of reading.
Speaking from literary point of view, Peopleware is a collection of essays, each about particular story encountered by authors or their colleagues during their professional carriers. Book is divided in to 6 parts, where essays concern main aspects of software development culture: managing the human resource, the office environment, the right people, growing productive teams, it’s supposed to be fun to work here and son of peopleware. Every chapter provides detailed look at what bad managerial decisions can lead to and serves as a great warning sign to all those ready to make the same mistakes done over and over again in the past.
Part 1: Managing the human resource
First part of the book depicts common managerial misbeliefs about their subordinates. First chapter of the book is appropriately named Somewhere Today, a Project is Failing. Based on collected data from years 1977 to 1987 authors conclude that about 15 % of IT projects were either cancelled, postponed, aborted or even never used. Probably most interesting fact is that not a single project failed because of technical problems. Authors also highlight that in software development most of attention is focused on technical rather than human factor of work simply because it is easier to do.
Among other practices mentioned in this part, great deal of material is focused on managing product quality in the environment constrained by budgets and deadlines, treatment of people the way components are treated, effects of overtimes and extra hours and their impact on overall productivity, corporate culture and it’s influence on people and many more. But don’t worry, there are also many inspiring stories about the way things could be done that are proven to be beneficial for managers as well as developers. There is one short story that struck me most. Ever since reading this, my standards for evaluation of my managers reached completely new level:
In my early years as a developer, I was privileged to work on a project managed by Sharon Weinberg, now president of the Codd and Date Consulting Group. She was a walking example of much of what I now think of as enlightened management. One snowy day, I dragged myself out of a sickbed to pull together our shaky system for a user demo. Sharon came in and found me propped up at the console. She disappeared and came back a few minutes later with a container of soup. After she’d poured it into me and buoyed up my spirits, I asked her how she found time for such things with all the management work she had to do. She gave me her patented grin and said, Tom, this is management.
In my point of view the message echoed throughout this part is that manager’s goal should not be to make people work, but to make it possible for people to work.
Part 2: The office environment
Second part shifts the focus from leadership and management to more concrete aspects of work – the work environment. Stories from this part again provide two sides to sides to office design. On one hand we are presented with the uniform workplace where every worker is assigned his desk and some small space allocated to his station located on busy and crowded floor where the order is maintained by something appropriately called The Furniture Police (I can’t help myself but this reminds me of Orwell’s masterpiece 1984). But the list does not end here. Authors also stress the importance of constant interruptions (caused by people and phones), density of workers allocated to a particular place and the importance of implementing barriers like walls and doors to provide quiet and productive workplace for intellectual workers. Reader is faced with many bizarre tales of mostly american workplace where stories like this one tell the ugly truth of past experiences of our fellow workers:
All this may seem a bit harsh on those solid citizens who plan America’s office space. If you think so, consider one last manifestation of the mind-set of these planners. It is something so monstrous that you have to wonder why it’s tolerated at all: the company paging system. Hard as this may be to believe, some companies actually use a public address system to interrupt perhaps thousands of workers, people who are trying to think, in order to locate one: BONG! [static] ATTENTION, ATTENTION! PAGING PAUL PORTULACA. WILL PAUL PORTULACA PLEASE CALL THE PAGING CENTER. If you position yourself well, you can sometimes see thirty or forty salaried workers raise their heads at the initial bong and listen politely through the whole message, then look down again wondering what they were doing before they were interrupted.
One can take away many points to consider when choosing his or hers next job and since you gonna spent about 40 hours of your life a week in the office – I find it quite important aspect of work to be considered. One thought to take away for me is that when it comes to workplace we all must fight to make it more conductive to intellectual work by avoiding mistakes mentioned in this part.
Part 3: The right people
When it comes to outcomes of our work they speak more about the people who produced them rather then the way they were produced. Yet it seems that management is kind of oblivious to this simple truth when it comes to hiring/firing the right people. This part deals in simple and straight facts about employee behavior and their commitment to the product or the company. Great deal of critique is placed on view that all workers are uniform and should be fed one corporate religion or even forced to follow company’s dress code when its not necessary for their job. All these practices accompanied by bureaucracy, blind following of methodologies and performance reviews result into unsatisfactory feelings spreading throughout companies. This state produces general unhappiness of employees which results in quitting of the job.
Based on this authors conclude some reasons why people leave companies with pathologically high employee turnover:
- A just-passing-through mentality: Co-workers engender no feelings of long-term involvement in the job
- A feeling of disposability: Management can only think of its workers as interchangeable parts (since turnover is so high, nobody is indispensable)
- A sense that loyalty would be ludicrous: Who could be loyal to an organization that views its people as parts?
Apart from these negative aspects authors promote hiring of the right people, which is determined by proper examination of candidates’ skills and abilities, past work and expertise, taking care of employees and their development as well as creating a sense of performance with a carrier path. When it comes to the development of a company authors encourage changes in the way we do things since primary goal should be to improve and also to keep people interested. When it comes to standards best way is to use the proven ones and avoid use of heavy bureaucratic methodologies.
Part 4: Growing productive teams
Good work experience always arises from all the challenges hidden in it. But looking back at enjoyable situations and memories from these experiences I always end up remembering the team interaction before the actual problem solving. When it comes to teams they stem from these interactions aimed to overcome certain challenge in work. Authors introduced the concept of a jelled team which could be described as a group of people so strongly knit that the production of the team is greater than that of the same people working alone (synergy effect). This way work becomes more fun and people do work better. Described signs of a jelled team included low employee turnover, strong sense of identity and eliteness as well as joint ownership of the product (apart from enjoyment).
One of the most fascinating stories from this part is about notorious Black team and the way this team jelled over the course of time:
At first it was simply a joke that the tests they ran were mean and nasty, and that the team members actually loved to make your code fail. Then it wasn’t a joke at all. They began to cultivate an image of destroyers. What they destroyed was not only your code but your whole day. They did monstrously unfair things to elicit failure, overloading the buffers, comparing empty files, and keying in outrageous input sequences. Grown men and women were reduced to tears by watching their programs misbehave under the demented handling of these fiends. The worse they made you feel, the more they enjoyed it. To enhance the growing image of nastiness, team members began to dress in black (hence the name Black Team). They took to cackling horribly whenever a program failed. Some of the members grew long mustaches that they could twirl in Simon Legree fashion. They’d get together and work out ever more awful testing ploys. Programmers began to mutter about the diseased minds on the Black Team.
This part also covers ways to disrupt or inhibit the formations of teams – so called Teamcide. Authors criticize defensive management techniques, bureaucracy, physical separation as well as time fragmentation and phony deadlines.
Part 5: It’s supposed to be fun to work here
Part dedicated to ways of making people happy to work and also to enjoy their work. Its always a good thing to promote self improvement, challenge your stuff with inner company coding competitions or even competitions between several companies. This is the way true heroes are born. Great emphasis is also placed on the importance of giving space to people who need it. Some people need directives some do not. Great managers can differentiate between these and accommodate needs of both groups. It is stuff like this that brings people closer and makes work more fun. There is one memorable part mentioned in the book, that addresses so called ‘coding wars’ and its resulting effect:
During the event, I noticed [one of the participants] catching a catnap on the rug in the reception area. I’d known her for years before that and always thought her a bit stiff. But from that point on, I felt differently about her. I felt differently about all of them. We’d been through it together. – from a tournament post mortem
However it is not always that easy. Authors also point out that constraining employees too much can lead to devastating results and also describe situation, when you are fighting for better working environment and improvement in work related matters. Most important is not to give up. It might not be just you it also might be everyone.
Part 6: Son of peopleware
While parts 1 – 5 focus on project level concerns, this final chapter, added in second edition, focuses on an organisational level. Early in this part authors revisit some of their previously released chapters about jelled teams and teamcide. They strongly promote coaching among team members as well as personal education and self-improvement. One of the most interesting facts mentioned in this chapter is that the sports team analogy to software development team is flawed and not precise. They propose that programming teams are more like a choir or glee club highlighting the perfect linkage between the success or failure of the individual and that of the group. Another key point mentioned in this part addresses introduction of change in the corporate environment. Reader is provided with famous quote by Niccolo Machiavelli from 1513 that summarizes people’s attitude towards change:
And it should be considered that nothing is more difficult to handle, more doubtful of success, nor more dangerous to manage, than to put oneself at the head of introducing new orders. For the introducer has all those who benefit from the old orders as enemies, and he has lukewarm defenders in all those who might benefit from the new orders.
This quote introduces authors’ thought on introducing changes and the reasons behind people’s reactions to them. When it comes to organizational point of view, authors point to big problem in blind adherence to the process improvement standards, that are followed blindly with no deeper understanding with the only one aim – reach the desired level, no matter what. On the other hand book promotes organizational learning and the making of community as a way to reach healthy workplace and satisfied employees.
There are not many books that can say so much in so few pages. I have to admit it – I have fallen in love with this book. And it was too easy to do so. Anyone with only a few years of experience can definitely find themselves somewhere in this book. I did so too and in quite a few places actually. It is a must read for any software development manager and also a very interesting book for anyone involved in software development. But don’t take it from me – look at must read books at websites like StackOverflow or countless IT oriented blogs like Jeff Atwood’s Coding Horror or Joel Spolsky’s Joel on Software. This book is arguably the only classic book in our field. So if it is not clear by now – if you ended up on my site this book is definitely for you.