400 likes | 919 Views
Motivating software developers. Dr Tracy Hall Adjunct Professor, University of Oslo Reader, Brunel University, UK. Something about me…. Reader in Software Engineering Based in Information Systems Department Brunel University, London, UK Large, highly rated research department
E N D
Motivating software developers Dr Tracy Hall Adjunct Professor, University of Oslo Reader, Brunel University, UK
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
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
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
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
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
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
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
S1: What does developer motivation impact on? • What do you think?? Section 1: Introduction and background
S1: Motivation impacts on… Figure 2. Signs of poor motivation reported in previous studies Section 1: Introduction and background
S1: Classic motivation theories Section 1: Introduction and background
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
Job Characteristics Theory JCT model of motivation (Couger and Zawacki 1980) Section 1: Introduction and background
The content theories… • Needs theory (Maslow 1954) • McClelland’s Needs Theory (1961) • Motivation-Hygiene Theory (Herzberg et al. 1959) Section 1: Introduction and background
Needs theory (Maslow 1954) Section 1: Introduction and background
Motivation-Hygiene Theory (Herzberg et al. 1959) Section 1: Introduction and background
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
45 40 35 30 25 20 Number of papers (Total 92) 15 10 5 0 1980-84 1985-1989 1990-1994 1995-1999 2000-2005/6 Number of papers published on developer motivation by five year intervals Section 2: Historical understanding of software developer motivation
Geographical distribution of studies on developer motivation Section 2: Historical understanding of software developer motivation
S2: Are software developers different to other professionals? What do you think? Figure 1. Results from 92 published studies
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.
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
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
Question 1: what aspects of your job do you get most satisfaction from?
Question 2: what are the features of a project that make you stay in your job?
Question 4: what makes developing software worthwhile to you?
S3: 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?
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
Contact details… Dr Tracy Hall Department of Information Systems & Computing Brunel University London, UK tracy.hall@brunel.ac.uk