Chapter 30. Productivity Environments

image with no caption

Software development is a highly intellectual activity that requires long periods of uninterrupted concentration. Productivity Environments provide developers with the freedom from noise and interruptions they need in order to work effectively. The use of Productivity Environments can benefit any kind of project—business, shrink-wrap, or systems. In addition to productivity improvements, some organizations have experienced improvements in developer morale and retention rates after establishing Productivity Environments.

Efficacy

Potential reduction from nominal schedule:

Good

Improvement in progress visibility:

None

Effect on schedule risk:

No Effect

Chance of first-time success:

Good

Chance of long-term success:

Very Good

Major Risks

  • Lost productivity from status-oriented office improvements

  • Transition downtime

  • Political repercussions of preferential treatment for software professionals

Major Interactions and Trade-Offs

  • Trades small increase in cost for large increase in productivity

If you were in the oil business, before you could make a single dollar you would need to locate a source of oil, drill a hole in the ground, pump the oil out of the ground, refine the oil, pump it into ships or trucks or barrels, and sell it. Part of the profitability of your business would be determined by how efficiently you could pump the oil out of the ground. If your pumping technique left 50 percent of the oil underground, you would be leaving 50 percent of your potential revenues underground, too.

You can't pump software out of a hole in the ground. Our nation's software reserves are located predominately inside the brains of our nation's software developers, and extracting that software from those brains requires every bit as much finesse as extracting oil from an oil well.

Paradoxically, the majority of developers today work under conditions that almost seem designed to prevent the extraction of working software from their brains. More than 70 percent of all software organizations have crowded office conditions, and the average time between interruptions under those conditions is only about 11 minutes (Jones 1994).

image with no caption

Unlike most management tasks, which are interrupt based and which survive and thrive on frequent interruptions, software development tasks require long periods of uninterrupted concentration. Because managers generally do not need long uninterrupted periods to do their work, developers' requests for peace and quiet can seem like requests for preferential treatment. But developers are usually highly self-motivated, and what they're really asking for is to be provided with conditions that will allow them to work efficiently.

Flow time. During the analysis and design stages, software development is an ephemeral, conceptual activity. Like any conceptual activity, the quality of the work is dependent on the worker's ability to sustain a "flow state"—a relaxed state of total immersion in a problem that facilitates understanding of it and the generation of solutions for it (DeMarco and Lister 1987). Converting brain waves to computer software is a delicate process, and developers work best during the hours they spend in this state of effortless concentration. Developers require 15 minutes or more to enter a state of flow, which can then last many hours, until fatigue or interruption terminates it. If developers are interrupted every 11 minutes, they will likely never enter a flow state and will therefore be unlikely to ever reach their highest levels of productivity.

CROSS-REFERENCE

For more on hygiene needs, see Hygiene Factors in Morale Killers.

Hygiene needs. In addition to the enhanced ability to enter a flow state, the Productivity Environments practice addresses a major motivational factor for software developers. Office space appropriate for development work is a "hygiene" motivational factor: that is, adequate office space does not increase motivation or productivity, but below a certain threshold inadequate office space can seriously erode motivation and productivity.

For developers, the need for productivity environments is obvious and basic. Productivity environments are in the same motivational category as adequate lighting, reliable power, and accessible bathroom facilities. An organization that doesn't provide an environment in which developers can work effectively is not providing the basics that developers need to be productive, and developers tend to view such organizations as irrationally working against their own interests. Good developers tend to gravitate toward organizations that provide work environments in which they can be productive. Developers who stay in less productive environments tend to lose their motivation and morale, and productivity suffers. (See Figure 30-1.)

DILBERT reprinted by permission of United Feature Syndicate, Inc.

Figure 30-1. DILBERT reprinted by permission of United Feature Syndicate, Inc.

Developers, team leads, and lower-level managers don't usually have the latitude to move a team to more productive offices. But if your project is under schedule pressure and your management is serious about productivity improvements, you might try negotiating for quieter, more private office space in return for promises of higher productivity.

Using Productivity Environments

Productivity environments have the following characteristics:

  • At least 80 square feet of floor space per developer.

  • At least 15 square feet of desk space capable of holding books, files, notes, source-code listings, and computer equipment simultaneously. The desk supports should be designed so that they do not obstruct leg movements. The workspace should be configurable to the preferences of the individual developer (for example, either a right-hand or left-hand return).

  • Some means of stopping phone interruptions. A "ringer off" switch combined with voicemail or the ability to forward calls to an administrative assistant are the most common solutions. Engraining use of email rather than phone calls throughout an organization is also an effective step toward preventing phone interruptions.

  • Some means of stopping in-person interruptions. A private office with a door is the most common solution. The corporate culture should allow and encourage developers to close their doors; some companies with "open door" policies discourage the practice (apparently unaware that this harms developer productivity).

  • Some means of shutting out unwanted noise. Business and social conversations should not carry into the developer's workspace and the PA system should not intrude to announce anything less serious than a building fire. Again, a private office with a door is the most common solution.

  • At least 15 linear feet of bookshelf space.

CROSS-REFERENCE

For more on other published reports about productivity environments, see The Bottom Line on Productivity Environments, later in the chapter.

In addition to these factors, which are supported by published reports, my experience leads me to believe that several additional factors are important:

  • Offices with external windows. The view does not have to be spectacular, and the window can even look through another external window, but it should provide a sense of the world outside the office building, and it should allow the developer to refocus periodically on something more than 24 inches away. In one office, I looked through five windows to an outside view, but that was enough to rest my eyes and to provide a break from the computer equipment. High-tech work requires a "high-touch" environment for morale (Naisbitt 1982).

  • At least 12 square feet of whiteboard space.

  • At least 12 square feet of bulletin board space.

  • Convenient access to other project team members. The team should have offices that are together; even being on different floors can put too much "distance" between the team members.

  • Convenient access to a high-speed printer.

  • Convenient access to a photocopy machine with an automatic document feeder.

  • Convenient access to conference rooms. Private offices go a long way toward addressing the need for conference rooms, but conference rooms are still needed whenever a group of three or more people meets.

  • Convenient access to common office supplies—pens, pencils, refill leads, highlighters, paper clips, rubber bands, staples, tape, notepads, spiral notebooks, 3-ring binders, blank diskettes, diskette labels, blank backup tapes, Post-it notes of various sizes, standard business envelopes, large mailing envelopes, stamps, file folders, file folder labels, hanging files, pushpins, paper towels, whiteboard markers, whiteboard cleaner, and screen cleaner.

Figure 30-2 shows some of the productivity office designs that were developed for IBM's highly regarded Santa Teresa office facility.

Designs for productivity offices at IBM's Santa Teresa Laboratory. Developers reported that their productivity increased about 11 percent when they moved into these offices. Copyright 1978 International Business Machines Corporation. Reprinted with permission from IBM Systems Journal, vol. 17, No. 1.

Figure 30-2. Designs for productivity offices at IBM's Santa Teresa Laboratory. Developers reported that their productivity increased about 11 percent when they moved into these offices. Copyright 1978 International Business Machines Corporation. Reprinted with permission from IBM Systems Journal, vol. 17, No. 1.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.222.22.189