Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2635868.2635892acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

Software developers' perceptions of productivity

Published: 11 November 2014 Publication History

Abstract

The better the software development community becomes at creating software, the more software the world seems to demand. Although there is a large body of research about measuring and investigating productivity from an organizational point of view, there is a paucity of research about how software developers, those at the front-line of software construction, think about, assess and try to improve their productivity. To investigate software developers' perceptions of software development productivity, we conducted two studies: a survey with 379 professional software developers to help elicit themes and an observational study with 11 professional software developers to investigate emergent themes in more detail. In both studies, we found that developers perceive their days as productive when they complete many or big tasks without significant interruptions or context switches. Yet, the observational data we collected shows our participants performed significant task and activity switching while still feeling productive. We analyze such apparent contradictions in our findings and use the analysis to propose ways to better support software developers in a retrospection and improvement of their productivity through the development of new tools and the sharing of best practices.

References

[1]
www.ifi.uzh.ch/seal/people/meyer/developersproductivity.
[2]
M. Andreessen. Why software is eating the world. The Wall Street Journal, August 20, 2011.
[3]
K. Beck and C. Andres. Extreme programming explained: embrace change. Addison-Wesley, 2004.
[4]
A. Begel and B. Simon. Novice software developers, all over again. In Proceedings of the Fourth International Workshop on Computing Education Research, ICER ’08, pages 3–14. ACM, 2008.
[5]
J. Blackburn, G. Scudder, and L. Van Wassenhove. Improving speed and productivity of software development: a global survey of software developers. IEEE Transactions on Software Engineering, 22(12):875–885, 1996.
[6]
B. W. Boehm. Improving software productivity. volume 20, pages 43–57. IEEE, 1987.
[7]
D. M. Bravata, C. Smith-Spangler, V. Sundaram, A. L. Gienger, N. Lin, R. Lewis, C. D. Stave, I. Olkin, and J. R. Sirard. Using pedometers to increase physical activity and improve health: A systematic review. Jama, 298(19):2296–2304, 2007.
[8]
D. N. Card. The Challenge of Productivity Measurements. In Pacific Northwest Software Quality Conference, pages 1–10, 2006.
[9]
M. Cataldo, J. D. Herbsleb, and K. M. Carley. Socio-technical congruence: A framework for assessing the impact of technical and work dependencies on software development productivity. In Proceedings of the Second ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM ’08, pages 2–11. ACM, 2008.
[10]
S. Consolvo, P. Klasnja, D. W. McDonald, and J. A. Landay. Goal-setting considerations for persuasive technologies that encourage physical activity. In Proceedings of the 4th international Conference on Persuasive Technology, pages 8:1–8:8. ACM, 2009.
[11]
S. Consolvo, D. W. McDonald, T. Toscos, M. Y. Chen, J. Froehlich, B. Harrison, P. Klasnja, A. LaMarca, L. LeGrand, R. Libby, et al. Activity sensing in the wild: a field trial of ubifit garden. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, pages 1797–1806. ACM, 2008.
[12]
L. Dabbish, G. Mark, and V. M. González. Why do i keep interrupting myself?: Environment, habit and self-interruption. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI ’11, pages 3127–3130. ACM, 2011.
[13]
C. R. B. de Souza and D. F. Redmiles. An empirical study of software developers’ management of dependencies and changes. In Proceedings of the 30th International Conference on Software Engineering, ICSE ’08, pages 241–250. ACM, 2008.
[14]
T. DeMarco and T. Lister. Programmer performance and the effects of the workplace. In Proceedings of the 8th International Conference on Software Engineering, ICSE ’85, pages 268–272. IEEE, 1985.
[15]
P. Devanbu, S. Karstu, W. Melo, and W. Thomas. Analytical and empirical evaluation of software reuse metrics. In Proceedings of the 18th International Conference on Software Engineering, ICSE ’96, pages 189–199. IEEE, 1996.
[16]
E. W. Dijkstra. The humble programmer. Communications of the ACM, 15(10):859–866, 1972.
[17]
B. J. Fogg. Persuasive technology: Using computers to change what we think and do. Ubiquity, 2002:5, 2002.
[18]
T. Fritz, E. M. Huan, G. C. Murphy, and T. Zimmermann. Persuasive technology in the real world: A study of long-term use of activity sensing devices for fitness. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, 2014. to appear.
[19]
W. Gibbs. Software’s chronic crisis. Scientific American, 271(3):86–94, 1994.
[20]
V. M. González and G. Mark. ”constant, constant, multi-tasking craziness”: Managing multiple working spheres. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI ’04, pages 113–120. ACM, 2004.
[21]
H. Hulkko and P. Abrahamsson. A multiple case study on the impact of pair programming on product quality. In Proceedings of the 27th International Conference on Software Engineering, ICSE ’05, pages 495–504. ACM, 2005.
[22]
W. S. Humphrey. Introduction to the Personal Software Process. Addison-Wesley Professional, first edition, 1996.
[23]
W. S. Humphrey. Using a defined and measured personal software process. IEEE, 13(3):77–88, 1996.
[24]
P. M. Johnson, H. Kou, J. Agustin, C. Chan, C. Moore, J. Miglani, S. Zhen, and W. E. J. Doane. Beyond the personal software process: Metrics collection and analysis for the differently disciplined. In Proceedings of the 25th International Conference on Software Engineering, ICSE ’03, pages 641–646. IEEE, 2003.
[25]
C. Jones. Software metrics: good, bad and missing. Computer, 27(9):98–100, 1994.
[26]
D. Kamma and P. Jalote. Effect of task processes on programmer productivity in model-based testing. In Proceedings of the 6th India Software Engineering Conference, ISEC ’13, pages 23–28. ACM, 2013.
[27]
M. Kersten and G. C. Murphy. Using task context to improve programmer productivity. In Proceedings of the 14th ACM SIGSOFT International Symposium on Foundations of Software Engineering, SIGSOFT ’06/FSE-14, pages 1–11. ACM, 2006.
[28]
R. B. Kieburtz, L. McKinney, J. M. Bell, J. Hook, A. Kotov, J. Lewis, D. P. Oliva, T. Sheard, I. Smith, and L. Walton. A software engineering experiment in software component generation. In Proceedings of the 18th International Conference on Software Engineering, ICSE ’96, pages 542–552. IEEE, 1996.
[29]
A. J. Ko, R. DeLine, and G. Venolia. Information needs in collocated software development teams. In Proceedings of the 29th International Conference on Software Engineering, ICSE ’07, pages 344–353. IEEE, 2007.
[30]
J. A. Lane and D. Zubrow. Integrating measurement with improvement: An action-oriented approach: Experience report. In Proceedings of the 19th International Conference on Software Engineering, ICSE ’97, pages 380–389. ACM, 1997.
[31]
H. Mintzberg. The nature of managerial work. Theory of management policy series. Prentice-Hall, 1980.
[32]
A. Mockus, R. T. Fielding, and J. D. Herbsleb. Two case studies of open source software development: Apache and mozilla. ACM Transactions on Software Engineering and Methodology, 11(3):309–346, 2002.
[33]
S. Munson. Mindfulness, reflection, and persuasion in personal informatics. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, 2012.
[34]
P. Naur and B. Randell. Software engineering: Report of a conference sponsored by the nato science committee. Scientific Affairs Division, NATO, 1969.
[35]
V. Nguyen, L. Huang, and B. Boehm. An analysis of trends in productivity and cost drivers over years. In Proceedings of the 7th International Conference on Predictive Models in Software Engineering, Promise ’11, pages 3:1–3:10. ACM, 2011.
[36]
D. E. Perry, N. A. Staudenmayer, and L. G. Votta. People, organizations, and process improvement. Software, IEEE, 11(4):36–45, 1994.
[37]
O. U. Press. Oxford dictionary. www.oxforddictionaries.com/us/definition/american english/productivity.
[38]
T. Roehm, R. Tiarks, R. Koschke, and W. Maalej. How do professional developers comprehend software? In Proceedings of the 2012 International Conference on Software Engineering, ICSE 2012, pages 255–265. IEEE, 2012.
[39]
J. Sillito, G. C. Murphy, and K. De Volder. Questions programmers ask during software evolution tasks. In Proceedings of the 14th ACM SIGSOFT International Symposium on Foundations of Software Engineering, SIGSOFT ’06/FSE-14, pages 23–34. ACM, 2006.
[40]
S. Wagner, M. Ruhe, and A. Siemens. A systematic review of productivity factors in software development, 2008.
[41]
M. Zhou and A. Mockus. Developer fluency: Achieving true mastery in software projects. In Proceedings of the Eighteenth ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE ’10, pages 137–146. ACM, 2010.

Cited By

View all
  • (2024)A Survey on Factors Preventing the Adoption of Automated Software Testing: A Principal Component Analysis ApproachSoftware10.3390/software30100013:1(1-27)Online publication date: 2-Jan-2024
  • (2024)A Systematic Literature Review on the Influence of Enhanced Developer Experience on Developers' Productivity: Factors, Practices, and RecommendationsACM Computing Surveys10.1145/368729957:1(1-46)Online publication date: 7-Oct-2024
  • (2024)Significant Productivity Gains through Programming with Large Language ModelsProceedings of the ACM on Human-Computer Interaction10.1145/36611458:EICS(1-29)Online publication date: 17-Jun-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
FSE 2014: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering
November 2014
856 pages
ISBN:9781450330565
DOI:10.1145/2635868
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 November 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. goal setting
  2. productivity
  3. retrospection

Qualifiers

  • Research-article

Conference

SIGSOFT/FSE'14
Sponsor:

Acceptance Rates

Overall Acceptance Rate 17 of 128 submissions, 13%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)419
  • Downloads (Last 6 weeks)58
Reflects downloads up to 18 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)A Survey on Factors Preventing the Adoption of Automated Software Testing: A Principal Component Analysis ApproachSoftware10.3390/software30100013:1(1-27)Online publication date: 2-Jan-2024
  • (2024)A Systematic Literature Review on the Influence of Enhanced Developer Experience on Developers' Productivity: Factors, Practices, and RecommendationsACM Computing Surveys10.1145/368729957:1(1-46)Online publication date: 7-Oct-2024
  • (2024)Significant Productivity Gains through Programming with Large Language ModelsProceedings of the ACM on Human-Computer Interaction10.1145/36611458:EICS(1-29)Online publication date: 17-Jun-2024
  • (2024)An IDE Plugin for Gamified Continuous IntegrationProceedings of the 1st ACM/IEEE Workshop on Integrated Development Environments10.1145/3643796.3648462(91-94)Online publication date: 20-Apr-2024
  • (2024)Understanding Developers Well-Being and Productivity: A 2-year Longitudinal Analysis during the COVID-19 PandemicACM Transactions on Software Engineering and Methodology10.1145/363824433:3(1-44)Online publication date: 15-Mar-2024
  • (2024)Measuring GitHub Copilot's Impact on ProductivityCommunications of the ACM10.1145/363345367:3(54-63)Online publication date: 22-Feb-2024
  • (2024)"At the end of the day, I am accountable": Gig Workers' Self-Tracking for Multi-Dimensional Accountability ManagementProceedings of the 2024 CHI Conference on Human Factors in Computing Systems10.1145/3613904.3642151(1-20)Online publication date: 11-May-2024
  • (2024)Cost of Flaky Tests in Continuous Integration: An Industrial Case Study2024 IEEE Conference on Software Testing, Verification and Validation (ICST)10.1109/ICST60714.2024.00037(329-340)Online publication date: 27-May-2024
  • (2024)Impermanent identifiers: Enhanced source code comprehension and refactoringJournal of Systems and Software10.1016/j.jss.2024.112137216(112137)Online publication date: Oct-2024
  • (2024)Understanding DevOps Critical Success Factors: A Thematic AnalysisDigital Product Management in the Era of Data Economy, Artificial Intelligence, and Ecosystems10.1007/978-3-031-71515-0_3(28-43)Online publication date: 16-Oct-2024
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media