Title: Motivating software developers
1Motivating software developers
- Dr Tracy Hall
- Adjunct Professor, University of Oslo
- Reader, Brunel University, UK
2Something 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
3Objectives 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
4Schedule
- 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
5S1 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
6S1 Why is motivating developers important?
- Human rather than technical problems known to
impact most on project outcomes - What human factors are important?
- Motivation reported as a key human factor in
developer performance - Human factors and motivation in software projects
difficult to manage - Why?
Section 1 Introduction and background
7S1 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- DeMarco and Listers (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
9S1 What does developer motivation impact on?
Section 1 Introduction and background
10S1 Motivation impacts on
Figure 2. Signs of poor motivation reported in
previous studies
Section 1 Introduction and background
11S1 Classic motivation theories
Section 1 Introduction and background
12The 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
13Job Characteristics Theory
JCT model of motivation (Couger and Zawacki 1980)
Section 1 Introduction and background
14The content theories
- Needs theory (Maslow 1954)
- McClellands Needs Theory (1961)
- Motivation-Hygiene Theory (Herzberg et al. 1959)
Section 1 Introduction and background
15Needs theory (Maslow 1954)
Section 1 Introduction and background
16Motivation-Hygiene Theory (Herzberg et al. 1959)
Section 1 Introduction and background
17S2 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
18Number of papers published on developer
motivation by five year intervals
- Section 2 Historical understanding of software
developer motivation
19Geographical distribution of studies on developer
motivation
- Section 2 Historical understanding of software
developer motivation
20S2 Are software developers different to other
professionals?
What do you think?
Figure 1. Results from 92 published studies
21S2 How are developers characterised?
22S2 Software developer characteristics
23S2 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.
24(No Transcript)
25S2 Software developer de-motivators
26S2 A model of software developer motivation
27S2 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
28S3 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
29Question 1 what aspects of your job do you get
most satisfaction from?
30Question 2 what are the features of a project
that make you stay in your job?
31Question 3 what factors keep you in software
engineering?
32Question 4 what makes developing software
worthwhile to you?
33S3 Developing a motivating project plan
- 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?
- 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?
- What are the benefits of accounting for
motivation in a project plan? -
34References
- 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
35Contact details
- Dr Tracy Hall
- Department of Information Systems Computing
- Brunel University
- London, UK
- tracy.hall_at_brunel.ac.uk