Peopleware concerns managing programmers by making them productive and getting out of the way. Many of the recommendations the book makes to managers can be implemented by individual contributors in any creative field.
I want to highlight three sections of the book:
- Data on the kind of environment that most often produces order-of-magnitude higher productivity.
- A method to measure the uninterrupted, concentrated time that is critical to producing quality software.
- Data on why time estimates matter and who should be making them.
The Environment Matters
To be productive yourself, find a place with few interruptions and work with other productive people.
In programming, there is the idea of the “10x engineer”: the rare individual who is an order of magnitude more productive than peers. What goes into these people’s success?
The authors ran the “Coding War Games” over two years at 100 companies with 600 developers. The goal was to gather data about how the variation in people and environments impacted time to completion and defect rate. The task was specified and fixed across the sample. The results were judged by time to completion and defect rate.
The best far outperformed the worst:
- The top quartile outperformed the bottom quartile 10x.
- The best outperformed the median 2.5x.
Many factors did not correlate with performance: programming language, years of experience, and salary.
In particular, the number of defects did not correlate with time to completion - producing quality need not take longer.
Three factors did correlate with performance:
- The team: people on the same team at the same company tended to perform similarly.
- The company: people at the same company tended to perform similarly, even when on different teams.
- The workplace environment: “the top performer’s space is quieter,
more private, better protected from interruption, and there is more
of it.”
What do phrases like “quiet” and “protected from interruption mean”? They were self-reported and subjective; for example, participants answered questions like “is your work area quiet enough for you?”
To be productive yourself, find a place with few interruptions and work with other productive people.
A Quantitative Way to Measure Focus
Measure uninterrupted hours of concentrated work to track progress improving environment.
Let’s say correlation implies causation and you’re already on a productive team at a productive company. What can be done to improve the workplace environment?
Peopleware prescribes no particular environment, but does say how to measurement it.
Use “E-factor”: divide the number of uninterrupted hours of concentrated work by the number of body-present hours to get a measure of working efficiency.
However, work does not begin at full focus. The typical person requires 15 minutes to enter a state of concentrated flow, so subtract that time from each span of uninterrupted work.
Discounting the short blocks of time between frequent interruptions can give a sobering picture of actual work time available.
I do this measurement periodically. The process is moderately tedious, but luckily only a few days are needed to identify top issues. More importantly, the process focuses awareness on addressing issues by tying interruptions to tedious bookkeeping.
Measure uninterrupted hours of concentrated work to track progress improving environment.
Time Estimates and Deadlines
High productivity is correlated with no time estimates for completion.
Removing distractions in the present-day reality of open-office workspaces and instant messaging is difficult. What else can be done to improve productivity?
The authors cite the 1985 Jeffery-Lawrence study “Managing programming productivity“ that measured productivity relative to who set the time estimates. From lowest to highest productivity, on their unit of measurement, with each category supported by about 20 data points:
who did the estimate | productivity score |
---|---|
supervisor | 6.6 |
supervisor and programmer | 7.8 |
programmer | 8.0 |
systems analyst, a third party | 9.5 |
no time estimation | 12.0 |
Contrary to popular wisdom, including Parkinson’s Law of “work fills to time allotted”, time estimates (and the implied or stated deadlines) correlate with reduced productivity.
Conclusion
Beyond working with productive people, the way to be productive is to be free from distractions.
Individual circumstances may vary, but there are two straightforward steps to improving the environment:
- track uninterrupted time in order to extend it
- avoid time estimates
While the book ostensibly covers programmer management, there is little specific to software. I found it valuable enough to read twice.
Further Reading
For more on the “Coding War Games” study, see chapter 8. To read more about the research across decades supporting the notion of the “10x engineer”, see Steve McConnel’s review.
The authors spend the entire second section of the book discussing how the office environment relates to productivity. In particular, see chapters 10 and 11.
For more on estimation, see in particular chapters 4 and 5. In general, much of the book discusses why practices like estimates are counterproductive.