Contents
11.1 Typical Developer Motivations
11.2 Using the Top Five Motivation Factors
11.3 Using Other Motivation Factors
11.4 Morale Killers
Related Topics
Peopleware: Four Dimensions of Development Speed
Teamwork: Chapter 12
Signing up: Chapter 34
Voluntary overtime: Chapter 43
Summary of goal setting: Chapter 22
OF THE FOUR AREAS OF RAPID-DEVELOPMENT leverage—people, process, product, and technology—"people" has the greatest potential to shorten software schedules across a variety of projects. Most people who work in the software industry have personally observed the enormous differences in output between average developers, mediocre developers, and genius developers. Researchers have identified performance differences on the order of 10 to 1 or more between different developers with the same levels of experience (Sackman, Erikson, and Grant 1968; Curtis 1981; Mills 1983; DeMarco and Lister 1985; Curtis et al. 1986; Card 1987; Valett and McGarry 1989).
Motivation is undoubtedly the single greatest influence on how well people perform. Most productivity studies have found that motivation has a stronger influence on productivity than any other factor (Boehm 1981).
Considering the critical role that motivation plays in development speed, you would expect a full-fledged motivation program to occupy a position of central importance on every rapid-development project. But that's not the case. Motivation is a "soft" factor: it's difficult to quantify, and it often takes a back seat to other factors that might be less important but that are easier to measure. Every organization knows that motivation is important, but only a few organizations do anything about it. Many common management practices are penny-wise and pound-foolish, trading huge losses in morale for minor methodology improvements or dubious budget savings. Some motivational attempts backfire and actually hurt motivation.
Although motivation is a soft factor, the knowledge of how to motivate software developers is not a total mystery. This chapter describes how to tap into motivation to improve development speed.
Different people are motivated by different factors, and developers are not always motivated by the same factors as their managers or by the same factors as the general public. Table 11-1 on the next page shows a ranked ordering of motivational factors for developers, managers, and the general population.
The data in Table 11-1 deals specifically with "programmer analysts" rather than "developers." It is a statistical summary, so any single developer might actually match the manager column or the general-population column better than the programmer analyst column.
The data in Table 11-1 is also pretty old. Some of the factors such as the importance of job security are bound to change as economic conditions change. Different companies are hiring programmers now than were hiring in 1981. Maybe only the first few entries in each column are significant. But in the main, I think the data in Table 11-1 captures some important insights about the differences between developers, their managers, and the population at large:
Compared to the general population, developers are much more motivated by possibility for growth, personal life, opportunity for technical supervision, and interpersonal relations with their peers. Developers are much less motivated by status, interpersonal relationships with subordinates, responsibility, and recognition.
Compared to their managers, developers are somewhat more motivated by possibility for growth, personal life, and technical-supervision opportunity. Developers are much less motivated by responsibility, recognition, and interpersonal relationships with subordinates.
The comparisons between developers and managers are particularly interesting, and they help to explain some of the miscommunications that occur between developers and managers. If you're a manager and you try to motivate your developers the same way that you would like to be motivated, you're likely to fail. Developers care little about the responsibility or recognition that would motivate you. If you want to motivate developers, emphasize technical challenges, autonomy, the chance to learn and use new skills, and career planning—and respect their personal lives.
Table 11-1. Comparison of Motivators for Programmer Analysts vs. Managers and the General Population
Programmer Analysts | Managers of Programmers | General Population |
---|---|---|
Sources: Adapted from Software Engineering Economics (Boehm 1981) and "Who Is the DP Professional?" (Fitz-enz 1978). | ||
|
|
|
If you're a developer, be aware that your manager might have your interests at heart more than you think. The phony-sounding "attaboy" or hokey award might be your manager's sincere attempt to motivate you in the way that your manager likes to be motivated.
Another source of insight into developer motivations comes from surveys conducted to determine the personality types of developers using the Myers-Briggs Type Indicator (MBTI) test. The MBTI measures people's preferences along four dimensions and comes up with a four-letter categorization. The categories are:
Extroversion (E) or introversion (I)
Sensing (S) or intuitive (N)
Thinking (T) or feeling (F)
Judging (J) or perceiving (P)
There are 16 four-letter combinations, which means that there are 16 personality types.
Not too surprisingly, two extensive surveys have found that computer professionals are much more "introverted" than the general population. "Introverts" in the context of MBTI doesn't mean quite the same thing it does in the non-MBTI world. In this case, it simply means that the person is more interested in the inner world of ideas than the external world of people and things. Somewhere between one-half to two-thirds of the computing population is introverted, compared with one-quarter to one-third of the general population (Lyons 1985; Thomsett 1990). This tendency toward an inner orientation seems consistent with the data in Table 11-1 that shows that developers in general are more interested in the possibility for growth than the other groups are and less interested in status and recognition.
The same surveys found that 80 percent of computer professionals have a preference for thinking (T) over feeling (F) compared to 50 percent of the general population. Ts have a preference for making decisions based on a logical and impersonal basis rather than on subjective personal values. This planned, logical bent is reinforced by computer professionals' preference for judging (J) over perceiving (P)—two-thirds of computer professionals are Js compared to about one-half of the general population. Js tend to live in a planned, orderly way, whereas Ps tend to be more flexible and adaptable.
The implication of this preference is clear: If you want to appeal to a developer, you'd better use logical arguments. For example, a lot of what's been written about motivation suggests that one key to exceptional productivity is to set seemingly impossible goals. That's fine for Fs, who might find such goals inspiring. But Ts will reject such goals out of hand for being "illogical." This is one reason that it is a rare group of developers who will respond positively to an impossible schedule goal. The boss in Case Study: A Disheartening Lunch with the Boss who moved the deadline up 3 months failed to take the probable reaction of T personality types into account.
CROSS-REFERENCE
For more on the importance of scheduling realistically, see Overly Optimistic Scheduling, Overly Optimistic Scheduling.
Remind yourself that different forms of motivation work with different people. Generalities about motivation can provide broad-brushed insights, but you'll be most successful if you try to identify the most effective motivation for each individual. Try to put yourself inside each team member's head and understand how he or she thinks. Better yet, ask people what they think. Figure out what will make the project a success for each person.
3.147.66.128