ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Google+ ACCU at Facebook ACCU at Linked-in ACCU at Twitter Skip Navigation

pinWhat motivates software developers: a workshop report

Overload Journal #99 - October 2010 + Project Management   Author: Helen Sharp
Keeping your team happy should be more than guesswork. Helen Sharp went and asked you.

This article reports the results of a workshop held at ACCU 2009 looking at the question: What motivates software developers? It was the third in a series of workshops [Sharp09, Sharp07] that build on previous research in the field of motivation in software engineering [Hall08] that will form the basis of a larger, more in-depth study into current-day software practice. Software practitioner motivation has been recognised as a key factor in system quality, yet much of what we know about practitioner motivation is based on research conducted in the 1980s and software development has changed considerably since then. Activity in the area is growing again, but the most significant recent studies are focused on the open source community. The workshop was a combination of group discussion and individual reflection; the data collected, and the results obtained should be considered in light of this design.

Motivation in software engineering

Software Development has been an expanding market for over 40 years. It is estimated that the global software market grew by 6.5% in 2008 and is now valued at $303.8 billion [Datamonitor06]. It is also predicted that by 2013 the global software market will be valued at $457 billion [Datamonitor06]. Motivation has been identified as a key factor affecting many important aspects of software development. Such factors include productivity, adherence to budgets, increases in staff retention and reduced absenteeism [Hall08]. The impacts motivation may have on a $300+ billion dollar industry makes the management and identification of key motivational factors crucial for the future improvement of software development and personnel satisfaction.

Several theories of motivation have been proposed and accepted in various contexts, but much work into motivation in software engineering has been based upon just one of these: the Job Characteristics Model [Hackman76]. Cougar and Zawacki tailored this for the software environment [Couger80] and although a significant number of reported studies are based on this modified model, they tend to simply apply the model rather than assess its applicability. In addition, a predominant perspective in motivation research is that of the organisation, focusing on issues such as turnover [Agarwal2000], performance [Darcy05] and absenteeism [Mak01]. Some more recent work focuses on open source software developers (e.g. [Hall08a]), where emphasis on organisational concerns such as turnover and productivity is less important, but this addresses only one area of software development. Only a small number of previous studies identify what is specifically motivating about Software Engineering, and we have found no research focused on understanding the motivation to stay in Software Engineering as a profession [Beecham08]. Previous studies have found that people working in the software industry are motivated by the nature of the job, e.g. change [Burn95, Smits92], technical challenge [Ramachandram06, Tanner03] and problem-solving

Table 1 summarises the motivational aspects of software engineering found in previous studies [Capretz03].

Motivational factors inherent in software engineering # of studies reporting this factor

Change

4

Technical challenge

4

Problem Solving

3

Benefit

3

Team Working

2

Science

2

Experiment

2

Development practices

2

Software process/ lifecycle

1

Table 1

In this paper we present the results of an investigation with experienced software professionals which explored why software practitioners stay in the profession. The next section describes the workshop format, the data collected and the analysis performed, the third section presents the findings, and the fourth section discusses results, limitations and future work.

Data collection and analysis

The data was collected during a workshop at the 2009 ACCU conference. Each workshop attendee was asked to align with one of three role groups (developer, consultant and manager) to align with for the workshop; this design arises from previous research [Beecham08] which indicates that motivation factors vary between different roles. Each individual was given a data collection form containing three sections: the first elicited the individual's background and experience, the second asked questions about why the individual stays in software development and the last asked for three main factors that keep the individual in the software profession. Attendees were asked to complete the first section while waiting for the workshop to begin. The other questions were completed at stages through the workshop as described below. The questions on the form covered:

Section 1

  1. What role in software development have you aligned with for today?
  2. Are you a practitioner or a researcher or an educator?
  3. What is your nationality?
  4. How many years experience in software engineering do you have? (if you've had different roles, please list all of them and number of years for each).
  5. Please describe briefly the software development projects you've been involved with over the last two years.

Section 2

  1. What aspects of your job do you get most satisfaction from?
  2. What are the features of a project that make you stay in your job?
  3. What factors keep you in software engineering?
  4. What makes developing software worthwhile to you?

Section 3

  1. Please write down YOUR three most important motivational factors that keep you involved in developing software

The workshop was structured around role group discussion, plenary discussion and individual reflection, as follows. After a brief introduction to the area, role groups were asked to discuss the second section of questions and to record the group's comments and opinions on flip charts. Following this, individuals were asked to write down their own answers on the form. The role groups then exchanged and discussed their responses. Again within role groups, attendees were asked to consider their most important motivational factors - any number of these could be proposed and each one was written on an index card. Then individuals were asked to write down their own three most important factors on the form. Finally, we presented the findings of our systematic literature review [Beecham08] which synthesises previous research work up to 2007.

Responses to questions 6-10 were transcribed into Excel and they were grouped using a simple categorization scheme that emerged from the data itself. The full list of categories is given below:

Big picture

Personal

Problem-solving

Making something

Technical

Variety

Appreciation

Financial

Not software

Habit

Programming

Autonomy

Interesting

Personal

Satisfaction

Enjoyment

Developing

Management

Fear

Challenging

Learning

Creative

People

Findings

There were 23 usable questionnaire responses ranging over the three roles: developers, technical managers, and consultants. Participants had between 3 and 35 years' experience developing software, with the mean being 15.3 years. The industries within which attendees have worked were quite varied, from embedded systems, petrochemical, insurance, telecoms, government and start-up (to name but a few). Thirteen of the participants declared themselves as British, and the others were a mixture of US, Hungarian, Indian, Norwegian and Dutch.

The following bar charts show the number of unique respondents whose answers fell into each category, i.e. if an attendee had several answers which fell into the same category then they were counted only once, and the number of answers across the sample which fell into each category, i.e. if an attendee had several answers which fell into the same category then they were all counted.

Developers

Fifteen attendees classified themselves as 'developers'. Figure 1 ( summarises the responses from these individuals. Example answers from the top category of People include: 'working with bright people'; 'a good team'; 'like-minded colleagues'; and 'talking to others'. Example answers categorized as problem-solving include: 'solving problems other people can't solve'; and 'solving problems - elegant solutions'.

Figure 1

Technical managers

Figure 2 shows the results for technical managers to continue being a software engineering professional. Example answers from the top category of Financial include: 'the money surely helps'; 'it pays well'; and 'money'. Example answers categorized as Challenging include: 'intellectual challenge'; 'the challenges, risky things'; and 'the challenges of customer buy-in'.

Figure 2

Consultants

Figure 3 shows that there was only consensus between all three consultants on one factor, which was People. These responses are included as a bar chart purely for comparison. The tiny number of respondents would normally mean that such a bar chart would not be produced.

Figure 3

Combined

If we combine all of the categories, then across the sample of 23 practitioners, the results are shown in Figure 4.

Figure 4

Discussion

The data reported here indicates that software engineer practitioners share similar beliefs about what motivates them to continue developing in this sector. The ever-changing nature of software engineering suggests that the results of any study on this sector is likely to vary over time, and will differ from previous and future studies.

It has long been established that software engineering focuses on solving problems [Tanner03] so the discovery of Problem Solving being a commonly listed factor is expected. According to Hall et al. [Hall08], Challenge and Problem solving have been recognized as motivators for software developers for some time. Hall et al also identified Team work and Benefit (developers create something to benefit others or enhance well-being) as two commonly listed categories. Finding that People is the most commonly listed motivational factor is surprising, as it is not listed in the reviewed literature [Beecham08] although it was identified in the earlier workshops in this series [Sharp07, Sharp09].

Franca & da Silva [Franca09] also found that the factor with the most motivational force was Work with people, followed in 3rd place by Problems resolution. This shows a changing trend when compared to previous work; the inclusion of People as an important and powerful motivational factor is new.

The main implication of this finding for software practitioners is that motivational programmes need to pay more attention to the social environment within which software is developed. The main implication for researchers is to highlight that the social demands of software development are changing.

However this article reports the findings of a small self-selecting group of practitioners (attendees chose to come to this workshop rather than any other session), and is limited in applicability. Future work would aim to involve a larger and more representative sample.

Future work

We aim to conduct further in-depth studies in this area in order to explore what motivates software practitioners in the current software market. We would be very pleased to hear from any practitioner who would be willing to help us pursue this research topic further. Please feel free to contact me at the email address above.

Acknowledgements

We would like to thank all our participants for sharing their knowledge and expertise with us. We would also like to thank Mark Dalgarno of Software Acumen for helping to run the ACCU 2009 workshop, and Rien Sach for performing much of the analysis.

References and further reading

[Agarwal2000] Agarwal, R. and T.W. Ferratt, 'Retention and the career motives of IT professionals'. Proceedings of the ACM SIGCPR Conference, 2000: p. 158-166.

[Beecham08] Beecham, S., Baddoo, N., Hall, T., Robinson, H. and Sharp, H. (2008) 'Motivation in Software Engineering: A Systematic Literature Review', Information and Software Technology, 50, 860-878.

[Burn95] Burn, J.M., L.C. Ma, and E.M. Ng Tye, Managing IT professionals in a global environment SIGCPR Comput. Pers, 1995. 16(3): p. 11-19.

Bush, C.M. and Schkade, L.L. (1985) 'In search of the perfect programmer', Datamation, 31(6), 128-132.

[Capretz03] Capretz, L (2003) 'Personality types in software engineering', International Journal of Human-Computer Studies 58(2), 207-214.

[Couger80] Couger, D.J. and Zawacki, R.A. (1980) Motivating and Managing Computer Personnel, John Wiley & Sons.

[Darcy05] Darcy, D.P. and M. Ma (2005) 'Exploring Individual Characteristics and Programming Performance: Implications for Programmer Selection' in Proceedings of HICSS '05 p. 314a-314a

[Datamonitor06] Datamonitor (2006) 'Software: Global Industry Guide'. Available from: http://www.infoedge.com/product_type.asp?product=DO-4959, accessed 01/02/2010.

[Franca09] Franca, A. and Fabio Q. B. da Silva (2009) 'An empirical study on software engineers motivational factors', in ESEM 2009, Lake Buena Vista, FL, USA, pp405-409.

[Hackman76] Hackman, J. R. and Oldham, G. R. (1976). Motivation through the design of work: test of a theory. New York, Academic Press.

[Hall08] Hall, T., Sharp, H., Beecham, S., Baddoo, N. and Robinson, H. (2008) 'What Do We Know about Developer Motivation?', IEEE Software, 92-94.

[Hall08a] Hall, T., Beecham, S., Verner, J. and Wilson, D. (2008) 'The Impact of Staff Turnover on Software Projects: The Importance of Understanding What Makes Software Practitioners Tick' in Proceedings of SIGMIS-CPR '08, 30-39.

Herzberg, F., Mausner, B. and Snyderman, B. B. (1959). Motivation to Work (2nd ed.), Wiley, New York.

Lyons, M.L. (1985) 'The DP Psyche', Datamation, 31(16) pp103-105, 108, 110.

[Mak01] Mak, B.L. and H. Sockel, 'A confirmatory factor analysis of IS employee motivation and retention'. Information & Management, 2001. 38(5): p. 265-276.

[Ramachandram06] Ramachandran, S. and S.V. Rao (2006), 'An effort towards identifying occupational culture among information systems professionals'. Proceedings of the 2006 ACM SIGMIS CPR conference on computer personnel research: Forty four years of computer personnel research: achievements, challenges & the future. Claremont, California, USA, p. 198-204

[Sharp07] Sharp, H., Hall, T., Baddoo, N. and Beecham, S. (2007) 'Exploring Motivational Differences between Software Developers and Project Managers' in Proceedings of European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, Dubrovnik, September, pp501-504

[Sharp09] Sharp, H. and Hall, T. (2009) 'An initial investigation into software engineers' motivation', in Proceedings of CHASE 2009, workshop held at ICSE 2009, Vancouver

Smith, D.C. (1989) 'The personality of the systems analyst: an investigation', SIGCPR Comput. Pers. 12(2), 12-14.

[Smits92] Smits, S.J., E.R. McLean, and J.R. Tanner (1992) 'Managing high achieving information systems professionals' in Proceedings of SIGCPR '92, Cincinnati, Ohio, April 5-7, A. L. Lederer, Ed, p. 314-327.

[Tanner03] Tanner, F.R. (2003) 'On motivating engineers', in Engineering Management Conference, IEMC '03. Managing Technologically Driven Organizations: The Human Side of Innovation and Change, pp 214-218.

Overload Journal #99 - October 2010 + Project Management