Presentation on theme: "Motivating software developers Dr Tracy Hall Adjunct Professor, University of Oslo Reader, Brunel University, UK."— Presentation transcript:
Motivating software developers Dr Tracy Hall Adjunct 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 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
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… Figure 2. Signs of poor motivation reported in previous studies 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 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) 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-841985-19891990-19941995-19992000-2005/6 Number of papers (Total 92) Section 2: Historical understanding of software developer motivation
19/35 Geographical distribution of studies on developer motivation Section 2: Historical understanding of software developer motivation
20/35 S2: Are software developers different to other professionals? Figure 1. Results from 92 published studies What do you think?
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.
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?
30/35 Question 2: what are the features of a project that make you stay in your job?
31/35 Question 3: what factors keep you in software engineering?
32/35 Question 4: what makes developing software worthwhile to you?
33/35 S3: Developing a motivating project plan 1. 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  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 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 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  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  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 firstname.lastname@example.org