+ All Categories
Home > Documents > Motivating software developers Dr Tracy Hall Adjunct Professor, University of Oslo Reader, Brunel...

Motivating software developers Dr Tracy Hall Adjunct Professor, University of Oslo Reader, Brunel...

Date post: 14-Dec-2015
Category:
Upload: brent-haston
View: 220 times
Download: 1 times
Share this document with a friend
Popular Tags:
35
Motivating software developers Dr Tracy Hall Adjunct Professor, University of Oslo Reader, Brunel University, UK
Transcript

Motivating software developers

Dr Tracy HallAdjunct Professor, University of Oslo

Reader, Brunel University, UK

2/35

Something about me…

Reader in Software Engineering Based in Information Systems Department

Brunel University, London, UK Large, highly rated research department

BSc in Social Science; MSc in IT; PhD in Software Metrics Main research topics:

The motivation of software engineers The quality of software

Published: many international journal and conference papers.

Lead and have led several large research council funded research projects

Taught many software engineering topics to BSc and MSc students

3/35

Objectives of today…

To be able to: Appreciate the importance that developer

motivation plays in project management Understand the historical context of current

thinking on developer motivation Evaluate the impact of modern software

engineering approaches on contemporary understanding of developer motivation

Accommodate developer motivation in a project plan

4/35

Schedule

Section 1: Introduction and background Defining motivation Why is motivating developers important? Classic motivation theories

Section 2: Historical understanding of software developer motivation Are software developers different from other professionals? Software developer characteristics Software developer motivators A model of software developer motivation

Section 3: Towards a contemporary understanding of software developer motivation A recent survey Developing a motivating project plan

5/35

S1: Defining motivation

Difficult to define as fairly intangible. Includes notions of:

Initiation, direction, intensity and persistence of behaviour

How do you know when you are motivated? How do you know when others are? How can this be measured?

Section 1: Introduction and background

6/35

S1: Why is motivating developers important? Human rather than technical problems

known to impact most on project outcomesWhat human factors are important?

Motivation reported as a key human factor in developer performance

Human factors and motivation in software projects difficult to manageWhy?

Section 1: Introduction and background

7/35

S1: What studies report…

McConnell (1998) points out, “Motivation is a soft factor: It is difficult to quantify, and it often takes a back seat to other factors that might be less important but are easier to measure. Every organisation knows that motivation is important, but only a few organizations do anything about it. Many common management practices are pennywise and pound-foolish, trading huge losses in motivation and morale for minor methodology improvements or dubious budget savings.”

Section 1: Introduction and background

8/35

DeMarco and Lister’s (1999) survey:motivation was found to be one of the most

frequently cited causes of software development project failure.

The Standish report (1995) having access to competent, hard working

and focused staff is one of ten success criteria for software projects.

Section 1: Introduction and background

9/35

S1: What does developer motivation impact on?

What do you think??

Section 1: Introduction and background

10/35

S1: Motivation impacts on…

External signs Retention Project delivery time Productivity Budgets Absenteeism Project Success

Figure 2. Signs of poor motivation reported in previous studies

Section 1: Introduction and background

11/35

S1: Classic motivation theories

Theory Process Content 1 Equity theory * 2 Stimulus Response Theory * 3 Job Characteristics Theory * 4 Goal setting theory * 5 Expectancy Theory * 6 Need theory - Maslow * 7 Need theory - McClelland * 8 Motivation-Hygiene Theory *

Section 1: Introduction and background

12/35

The process theories…

Equity theory (Adams 1963) Stimulus Response Theory (Skinner 1976) Job Characteristics Theory (Hackman and

Oldman 1976) Goal setting theory (Locke 1968) Expectancy Theory (Vroom 1964)

Section 1: Introduction and background

13/35

Job Characteristics Theory Job characteristics

Psychological states

Personal and work outcomes

Skill variety

Task identity Influence Meaningfulness of work High internal work motivation Task significance High quality work Autonomy Influences Responsibility of outcomes High satisfaction with work Feedback Influences Knowledge of actual results

Low absenteeism and turnover

└── Growth Need Strength ───┘

JCT model of motivation (Couger and Zawacki 1980)

Section 1: Introduction and background

14/35

The content theories…

Needs theory (Maslow 1954) McClelland’s Needs Theory (1961) Motivation-Hygiene Theory (Herzberg et

al. 1959)

Section 1: Introduction and background

15/35

Needs theory (Maslow 1954)

Self actualisation

Personal esteem

Social acceptance

Security

Physical comfort

Section 1: Introduction and background

16/35

Motivation-Hygiene Theory (Herzberg et al. 1959)

Extrinsic factors

Intrinsic factors

Pay Achievement

Interpersonal relations, subordinate Recognition

Status The work itself

Interpersonal relations with superior Responsibility

Interpersonal relation with peers Possibility of growth

Technical supervision Advancement

Company policy and administration

Work conditions

Personal life

Job security

Section 1: Introduction and background

17/35

S2: Current understanding of software developer motivation 92 studies of motivating software

developers published from 1980-2006 Some of these have basis in classic theory Increasing interest in motivating software

developers…

Section 2: Historical understanding of software developer motivation

18/35

Number of papers published on developer motivation by five year intervals

0

5

10

15

20

25

30

35

40

45

1980-84 1985-1989 1990-1994 1995-1999 2000-2005/6

Number of papers (Total 92)

Section 2: Historical understanding of software developer motivation

19/35

Geographical distribution of studies on developer motivation

0

10

20

30

40

50

60

Global

Austra

lia

Austri

a

Canada

Egypt

Greec

e

Hong K

ongIsr

ael

Japa

n

Mex

ico

Niger

ia

Norway

China

Singap

ore

South

Afri

ca

Taiwan

UKUSA

Nu

mb

er

of

stu

die

s

Section 2: Historical understanding of software developer motivation

20/35

S2: Are software developers different to other professionals?

YES54%

NO24%

YES&NO (depending on context)

22%

Figure 1. Results from 92 published studies

What do you think?

21/35

S2: How are developers characterised?

22/35

S2: Software developer characteristicsSoftware Engineer Characteristics Need for stability Technically competent Achievement orientated (e.g. seeks promotion) Growth orientated (e.g. challenge, learn new skills) Need for competent supervising (e.g. needs respect and appreciation, given a clear job to do and goals) Introverted (low need for social interaction) Need for involvement in personal goal setting Need for feedback (needs recognition) Need to make a contribution (needs worthwhile/ meaningful job) Autonomous (need for independence) Need for variety Marketable Need for challenge Creative Need to be sociable/identify with group/organisation/supportive relationships

23/35

S2: Software developer motivators

Motivators come from three different sources: the organisational context, the specific job being undertaken (intrinsic

motivators), a sub-set of intrinsic motivators which are

inherent to software engineering as a profession.

25/35

S2: Software developer de-motivators

De-Motivators Risk Stress Inequity (e.g. recognition based on management intuition or personal preference) Interesting work going to other parties (e.g. outsourcing) Unfair reward system (e.g. Management rewarded for organisational performance; company benefits based on company rank not merit) Lack of promotion opportunities/stagnation/career plateau/boring work/poor job fit Poor communication (Feedback deficiency/loss of direct contact with all levels of management) Uncompetitive pay/poor pay/unpaid overtime Unrealistic goals/ phoney deadlines Bad relationship with users and colleagues Poor working environment (e.g., wrong staffing levels/unstable/insecure/lacking in investment and resources; being physically separated from team) Poor management (e.g. poorly conducted meetings that are a waste of time) Producing poor quality software (no sense of accomplishment) Poor cultural fit/stereotyping/role ambiguity Lack of influence/not involved in decision making/no voice

26/35

S2: A model of software developer motivation

27/35

S2: How does this fit with you?

Use this model and score your partner according to each of these criteria on a scale of 1-10

28/35

S3: Towards a contemporary understanding of software developer motivation

The job of software development has moved on Globally distributed teams Agile approaches More demanding users etc

The role of the developer has evolved The stereotypical ‘introverted solitary

programmer’ is no longer viable Old paradigms of motivation increasingly

outdated

29/35

Question 1: what aspects of your job do you get most satisfaction from?

Question 1 what aspects of your job do you get most satisfaction from?

0

2

4

6

8

10

12

14

Nu

mb

er

of

tim

es m

en

tio

ned

30/35

Question 2: what are the features of a

project that make you stay in your job?

Question 2 What are the features of a project that make you stay in your job?

0

1

2

3

4

5

6

7

8

9

Nu

mb

er

of

tim

es m

en

tio

ned

31/35

Question 3: what factors keep you in

software engineering?

Question 3 answers

02468

101214161820

Nu

mb

er

of

tim

es m

en

tio

ned

32/35

Question 4: what makes developing

software worthwhile to you?

Question 4 What makes developing software worthwhile to you?

0

1

2

3

4

5

6

7

Nu

mb

er

of

tim

es m

en

tio

ned

33/35

S3: Developing a motivating project plan1. What are the key elements of a project that you need to

understand before you can assign appropriate developers to tasks?

- How can you find out this information?

2. What do you need to know about developers before you can assign them to the most appropriate tasks for them?

- How can you find out this information?

3. What are the benefits of accounting for motivation in a project plan?

34/35

References

[1] Hall T, Baddoo, N., Beecham, S, Robinson H, Sharp H (in press) ‘A Systematic Review of Theory Use in Studies Investigating the Motivations of Software Engineers’, ACM Transactions on Software Engineering and Methodology (TOSEM), to appear

[2] Hall T, Sharp H, Beecham S, Baddoo N., Robinson H (in press) ‘What do we know about software developer motivation?, IEEE Software, July/Aug 2008, to appear

[3] Sharp H, Baddoo, N, Beecham, S, Hall T, Robinson H (in press) ‘Models of motivation in software engineering’, Information and Software Technology Journal, to appear

[4] Beecham, S, Baddoo, N., Hall T, Robinson H, Sharp H (in press) ‘Motivation in Software Engineering: A Systematic Literature Review’, Information and Software Technology Journal, to appear

[5] Sharp H, Hall T, Baddoo, N., Beecham, S (2007). Exploring Motivational Differences between Software Developers and Project Managers, ACM SIGSOFT Symposium on the Foundations of Software Engineering, Sept 2007, Croatia, ACM Press

35/35

Contact details…

Dr Tracy Hall

Department of Information Systems & Computing

Brunel University

London, UK

[email protected]


Recommended