Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What is Productivity? Terminology and Influencing Factors

What is Productivity? Terminology and Influencing Factors

Slides for my talk at the Dagstuhl Seminar on "Rethinking Productivity in Software Engineering". I discuss the terms around productivity, how they fit to software engineering, what factors influence productivity and a brief glimpse into a study where we investigated the influence of personality and programming styles on productivtiy.

Stefan Wagner

March 07, 2017
Tweet

More Decks by Stefan Wagner

Other Decks in Research

Transcript

  1. 2

  2. Tools Requirements Engineering Safety & Security Engineering Quality Engineering Software

    Engineering Continuous, Agile & Lean Engineering Empirical and Behavioural Software Engineering
  3. You can copy, share and change, film and photograph, blog,

    live-blog and tweet this presentation given that you attribute it to its author and respect the rights and licenses of its parts. based on slides by @SMEasterbrook und @ethanwhite
  4. The Chimera of Software Productivity Efficiency Effectiveness Productivity Performance Profitability

    Quantity Functionality Quality LOC, FP, … Intangibility of Software Product Lines Reuse Automation Tools Model-Driven Implementation Test Maintenance Team Workplace Improvement, Measurement, Comparison
  5. A Timeline of Productivity Research in Software Engineering 1968 First

    experimental studies 1975 1987 1979 Albrecht’s Function Points 1981 1986 Jones’ Programming Productivity 2005 2000 2000s Story Points 2010s
  6. Open Issues – Quantity, Quality and Value Productivity of knowledge

    work […] has to aim first at obtaining quality […]. Only then can one ask: „What is the volume, the quantity of work?” Peter F. Drucker Quality is a complex and multifaceted concept. It is also the source of great confusion… David A. Garvin […] the value of the software […] cannot be measured by the cost of building it, but by how well it meets the needs of the user. And […] I have never, even one time, seen exactly the same business problem. Jon “Maddog” Hall
  7. Productivity • Difficult for knowledge work • Could consider –

    Quality – Timeliness – Project success – Customer satisfaction – Innovation • No broadly applicable and accepted means for productivity measurement Productivity = Output Input Units of products Units of material Person- hours Size
  8. Performance Vision and Strategy Internal Business Processes Financial Customer Learning

    and Growth To satisfy our shareholders, what business processes must we excel at?
  9. The PE Model Purpose Quality Functionality Effort Effectiveness Efficiency Productivity

    Profitability Performance Inflation, pricing Customer perception [based on Tangen, 2005]
  10. Technical Factors Doc. Match to Life-Cycle N. Use of Modern

    Dev. Pract. Programming Language Use of Software Tools Hardware Concurrent Dev. Project Duration Effective and Efficient V&V Completemenss of Design Early Prototyping Platform Volatility Process Maturity Architecture Risk Resolution Reuse Development Flexibility User Interface Product Quality Software Size Main Storage Constraint Execution Time Constraints Developed for Reusability Product Complexity Database Size Required Software Reliability Precedentedness # of publications 2 3 2 6 3 7 3 4 2 3 2 2 1 1 3 1 2 1 2 3 7 3 7 2 Dev. Env. Process Product Wagner, S. and Ruhe, M. (2008) A Systematic Review of Productivity Factors in Software Development. In Proc. 2nd International Workshop on Software Productivity Analysis and Cost Estimation (SPACE 2008).
  11. Soft Factors Avg. Team Size Req. Stability Schedule Telecom. Facilities

    Physical Separation Time Fragmentation E-Factor Proper Workplace Manager App. Experience Manager Capability Lang. and Tool Experience Platform Experience Applications Experience Progammer Capability Analyst Capability Developer Temperaments Support for Innovation Communication Team Cohesion Turnover Clear Goals Sense of Eliteness Team Identity Camaraderie Fairness Respect Credibility # of publications 4 6 5 1 2 3 3 7 9 4 1 1 8 10 7 7 8 7 2 3 2 1 4 2 5 6 10 Project Cap. & Exp. Team Culture Environment Corp. Culture
  12. The Big Five Personality Test 5 Closed-Minded Open to New

    Experiences Disorganised Conscientious Introverted Extraverted Disagreeable Agreeable Calm/Relaxed Nervous / High-Strung Openness to Experience Conscientiousness Extraversion Agreeableness Emotional Stability
  13. Cox and Fisher’s Theory Task Situation Individual internal external Influence

    Programming Styles like personality like experience Programming Context’s Factors
  14. Study Design Age Gender Programming Experience Attitude towards Programming Personality

    Factors Human Factors Programming Styles ? ? Programming Performance Programmer Quality (self-assessed) Project and Code Quality (Grade) Code Quality (Static Analysis Warnings)
  15. Significant Correlations (All Positive) Programming Performance Number of Programming Languages

    (Experience) Age Academic Achievement Depth-First Programming Style Conscientiousness (Personality) Years at University (Experience) Large Revisions (Programming Style)
  16. Limitations • Self-developed questionnaire to operationalise some styles • Self-assessed

    survey • Mainly students in second year of studies • Volunteer bias • Correlations do not need to be cause/effect
  17. The ProdFLOWTM Approach Ruhe, M. and Wagner, S. (2008) Using

    the ProdFLOW™ Approach to Address the Myth of Productivity in R&D Organizations In Proc. 2nd International Symposium on Empirical Software Engineering and Measurement (ESEM '08). ACM.
  18. „ The most important contribution management needs to make in

    the 21st century is […] to increase the productivity of knowledge work and the knowledge worker. Peter F. Drucker
  19. Prof. Dr. Stefan Wagner e-mail [email protected] phone +49 (0) 711

    685-88455 WWW www.iste.uni-stuttgart.de/se Twitter prof_wagnerst ORCID 0000-0002-5256-8429 arXiv http://arxiv.org/a/wagner_s_1 Institute of Software Technology Slides are available at www.stefan-wagner.biz. Joint work with Manfred Broy, Florian Deissenboeck, Melanie Ruhe, Zahra Karimi, Ahmad Baraani-Dastjerdi, Nasser Ghasem-Aghaee
  20. Pictures Used in this Slide Deck Programmer writing code with

    Unit Tests by Joonspoon under CC BY-SA 4.0 (https://commons.wikimedia.org/ wiki/File:Programmer_writing_code_with_Unit_Tests.jpg) Stuttgart-Schlossplatz-at-night-denoised by Curnen under CC BY-SA 3.0 (https://commons.wikimedia.org/wiki/ File:Stuttgart-Schlossplatz-at-night-denoised.jpg) Line Art Drawing of a chimera by Pearson Scott Foresman (Public Domain) (https://commons.wikimedia.org/ wiki/File:Chimera_(PSF).jpg) Happy Programmers by Jesper Ronn-Jensen (https://flic.kr/p/oi9kA) Computer Work Hero (https://www.jisc.ac.uk/sites/default/files/computer-work-hero.jpg) Source code security plugin by Christiaan Colen under CC BY-SA 2.0 (https://www.flickr.com/photos/ 132889348@N07/20013034943)