Peopleware: Productive Projects and Teams (3rd Edition)

By: Tom DeMarco, Tim Lister | Posted: August 26, 2017 | Buy This Book on Amazon

The two authors of this book, Tom and Timothy made an observation one day that the biggest and most important problems they have as managers deal with people.

They further admitted to themselves that they spend most of their time thinking about technology problems, deadlines, process, basically anything else but those people problems. The book Peopleware is a collection of short essays and lessons convincing you of the importance of these people problems, and how to approach them.

“Sociology matters more than technology or even money”

The Problem

15% of all projects fail (never delivered, cancled, etc) - observed through annual surveys by the Peopleware project. This number increases to 25% for larger projects. Not a single one of these failed projects cited “technology” as the reason for failure. The most common answer was politics, including communication, motivation, and turnover.

The Reason

A few possible reasons that might explain why this problem exists

Managers don’t have any experience managing - It’s common for a high performing developer to work his way up to management. They know how to do the job well, but they don’t know how to manage people who do the job well.

It’s less interesting - Developers enjoy working on technical problems. They will still enjoy thinking about those problems as if they were going to solve them, instead of manage them.

It’s harder - For a technical person, it’s easier to think about a well defined technical problem like getting a server running. Versus a vague problem like why isn’t my team happy?

Why You Should Care

The Peopleware project conducts an annual coding wars challenge, along with a survey. Each organization chooses two workers to participate individually on a medium sized coding project to build an application to meet the challenges specifications.

Results:

  • Count on the best people outperforming the worst by about 10:1.
  • Count on the best performer being about 2.5 times better than the median performer.
  • Count on the half that are better-than-median performers outdoing the other half by more than 2:1.

These apply to basically any metric they measure, time spent, number of defects, etc. They also saw that people from the same organization performed very similar. which means the same comparisons between individuals extend to organizations

  • Count on the best organization outperforming the worst by about 10:1.
  • Count on the best organization being about 2.5 times better than the median organization.
  • Count on the half that are better-than-median organization outdoing the other half by more than 2:1.

Found to be NO CORRELATION between:

  • language used
  • years experience (other than less than 6 months experience)
  • salary
  • number of defects

Your organizations workspace, culture, and management has a big impact on the performance of your individual workers.

What to do About it

A manager’s job is NOT

  • Strategist thinking about how to deploy your faceless resources
  • Get your workers to work harder, longer, faster
  • extracting performance from your team

A managers’s job IS

  • Get the right people
  • Figure out how to let them be happy so they don’t want to leave
  • turn them loose

Get the right people

This is important because managers won’t have time or leverage to change people. If you try, you will just make things miserable for all involved. When you evaluate candidates, you need to look at communication skills in addition to technical skill.

Figure Out How to Let Them Be Happy so They Don’t Want to Leave

Keeping your workers from leaving is important. Remember turnover is the #1 cause of failed projects in Peopeware’s annual survey results.

Here are some of the costs associated with turnover:

  • 1.5-2 months salary to hire. Either to pay an agency, or spend salary hours on the search yourself.
  • on day one the new hire is useless, plus makes whoever has to get him up to speed useless
  • takes ~5 months for the new hire to be working at full capacity
  • high turnover makes people think for the short term. no one will take the long view
  • beginners get promoted because it’s the only way to keep them. managers end up with no experience because they were promoted to quickly.
  • Generates even more turnover because workers don’t feel like they’re expected to stay
  • Any experience and learning that happened within your organization is lost

So how can you keep your workers happy? Here are a things to keep in mind:

Office Environment

There is no evidence supporting the idea that an open layout increases productivity. The biggest reason for the move from closed to open space floor plans is cost.

What an open floor plan does do is increase the amount of distractions. It takes 15 minutes to get into “the zone”. That working state where you’re 100% focused on the problem in front of you and time flies by. This is where real brain work gets done. Not the administrative tasks like checking email, but solving creative and complex problems.

If you happen to get caught in a 5 minute conversation going on next to you, you’ve just 20 minutes of “in the zone” time.

Investment

Invest in improving your employees. Continue there education, send them to conferences, retrain them for new jobs when they outgrow their current position.

“At Southern California Edison some years ago, the person in charge of all data processing began as a meter reader. At EG&G, there was a program of retraining administrative staff to become systems analysts. At the Bureau of Labor Statistics, philosophy Ph.D.s are hired to become software developers and the retraining starts with their first day on the job.”

Yes it will cost a lot of money, but it makes workers much more thankful and happy. It just changes the culture from a short term feeling to a long term feeling. Happy workers reduces turnover, you remember how expensive turnover is right?!

  • You pay an average worker about 20x as much as you pay for his working space.
  • According to the coding wars results, work space could have up to a 10x impact on your workers performance
  • Is it worth saving money on something that could affect your workers, which you pay 20x more for? especially when it could affect your workers by a factor of 10x?

Turn Them Loose

In the 1960’s, IBM was having trouble finding bugs in it’s software before release, it’s users were always reporting these bugs they couldn’t find. So they put together a team of their better testers. This team would test the software before it would go out to the public. They expected a modest improvement in bug detection. But they got something unexpected, a defect rate of almost 0! how could this be?!

The team really jelled together, it became their mission to find every last bug. They started dressing in black, hence the name. They enjoyed finding every last bug.

When your workers go through this natural bonding and become a “jelled” team, turning them loose will allow them to do extraordinary things. It will be far more than any amount of “active management” you could use to try squeezing out extra productivity from them.

Unfortunately, there isn’t a formula for getting a team to jell like this. Sometimes it happens sometimes it doesn’t, it depends a lot on whether the people on your team just happen to connect. But there are a few things you could to do to stop any chance of this happening. Here is a list of the important ones:

Defensive Management - Anything you might do to prevent your team from messing up. Or anything you might put in place to guarantee your survival when your team does mess up. For example requiring that all changes be reviewed by you before your client gets to see them, or wandering around trying to “oversee” your workers.

It may give you relief in the short term, but your team will get the message loud and clear that you don’t trust them. And this will de-flate their natural motivation. It will kill any chance at a jelled team. Once you’ve decided on the team you’re going with, it’s better to trust them. Sure they’ll mess up, sure you wouldn’t have made a lot of those mistakes had you been doing the work yourself. That’s why you’re the manager and their not. But gaining your trust makes people proud of themselves, keeps their happiness up, and keeps the chances for a jelled team open.

Competition - competition between companies makes both companies improve their products faster, why not use a healthy does of competition to make sure your workers to get complacent? individual people don’t work the same was as large companies.

The technology world is so vast that you can’t be an expert in everything. You’ll have team members who are experts in different things, and you need them to share that knowledge. They won’t do that if people are worried about job security, or if they know they’re being compared against others.

“In high school, I was the shortest member of our varsity basketball team. I still remember the guy who had to foul out before I would be put in. His name was Doug Timmerman. He was the most damnably gifted player; he almost never fouled anybody. I loved him like a brother, but still …”

Performance based measurement, praise, bonuses, awards, anything that treats members differently will introduce competition. You need to make the team goal the most important thing somehow.

Quality Reduction - Don’t trade quality for shorter delivery date, or lowering cost. Developers hate to show work that doesn’t meet their standards. You might think it’s perfectly reasonable and logical to sacrifice quality to meet cost and delivery goals that a client asks for. A client might even specifically request lower quality for faster delivery. MVP right!

But people aren’t 100% logical, and this kind of logic ignores a persons emotions. As a developer, our self-esteem is highly tied to the quality of our work. We get a huge boost in self-esteem when we can show off a single high quality piece of work. Versus an actual decrease in self-esteem when showing a to of mediocre projects.

Pressure - Don’t use pressure to push your workers. It’s not your job to “motivate” your workers to work harder, faster, longer. Remember that any productivity strategies should take into account lost production due to turnover. It doesn’t make sense to push workers into overtime to meet arbitrary deadlines if those workers end up quitting or burned out.

Chaos - Some managers think that making order out of chaos is there job. Their job is to actually break up the chaos and assign it out, and let the workers have the fun of making order out of it.

How to create chaos:

pilot project - try a new or unproven technique or technology. You’ll lose some productivity because of learning curve of new technology. However you might possibly gain productivity because of the new technology. Plus gain in productivity because of renewed excitement.

Other Ideas:

  • TRAINING, TRIPS, CONFERENCES, CELEBRATIONS, AND RETREATS
  • BRAINSTORMING
  • WAR GAMES

Basically anything that pulls your team out of the ordinary, and introduces…chaos. it just makes things fun, gets people loose, bonds people into the jelled teams you’re looking for. A small note on this. Some people like more structure, some people don’t, a good manager can figure out which ones which.

Final Thoughts

A manager’s job isn’t to extract work out of your workers. If you’ve hired good people, they are already far more motivated on their own that with you trying to ‘help’ by setting deadlines, requiring overtime, or watching over shoulders. Your job is to listen to your workers create an environment where they want to stay.

  • A work space that allows for “flow” state.
  • A culture that gives a team the chance to “jell”.
  • Investment in their professional development

And one final note, don’t try to change everything at once. Your boss will think of you as a trouble maker. Just focus on one change and you’re already ahead of most.


Buy This Book on Amazon