One of the strongest economical regions in Europe
One of the strongest economical regions in Europe 2 - - PowerPoint PPT Presentation
One of the strongest economical regions in Europe 2 - - PowerPoint PPT Presentation
One of the strongest economical regions in Europe 2 www.uni-stuttgart.de 01-10 Empirical and Behavioural Software Engineering R e q u i r e m e n t s E n g i n e e r i n g Q u a l i t y E n g i n e e r i n
Tools R e q u i r e m e n t s E n g i n e e r i n g S a f e t y & S e c u r i t y E n g i n e e r i n g Q u a l i t y E n g i n e e r i n g Software Engineering C
- n
t i n u
- u
s , A g i l e & L e a n E n g i n e e r i n g Empirical and Behavioural Software Engineering
What’s Productivity? Terminology and Influencing Factors
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 @ethanwhiteThe 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
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 2010sWhat is Productivity?
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
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
Profitability
Profitability = Revenue Cost
Price inflation Cost inflation
Performance
Vision and StrategyInternal Business Processes Financial Customer Learning and Growth To satisfy our shareholders, what business processes must we excel at?
The PE Model
Purpose Quality Functionality Effort Effectiveness Efficiency Productivity Profitability PerformanceInflation, pricing Customer perception
[based on Tangen, 2005]What general factors influences productivity?
Technical Factors
- Doc. Match to Life-Cycle N.
- Dev. Env.
Soft Factors
- Avg. Team Size
- Req. Stability
- Telecom. Facilities
- Lang. and Tool Experience
- Cap. & Exp.
- Corp. Culture
Do personality and programming styles influence productivity?
Developers differ in their performance, decision making and working habits.
The Big Five Personality Test5
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
Cox and Fisher’s Theory
Task Situation Individual
internal external
Influence Programming Styles like personality like experience Programming Context’s Factors
Top-down & depth-first Top-down & breadth-first
Bottom-up & depth-first Bottom-up & breadth-first
Programming Styles
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)
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)
Limitations
- Self-developed questionnaire to
- perationalise some styles
- Self-assessed survey
- Mainly students in second year of studies
- Volunteer bias
- Correlations do not need to be cause/effect
There is a significant relation between personalities of programmers and their programming styles.
So how do we measure and improve it?
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.„
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- Prof. Dr. Stefan Wagner
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)