SlideShare a Scribd company logo
Software Quality Lab
Markus Unterauer
Consultant and trainer
Lessons Learned from
measuring software development
processes
www.software-quality-lab.com | improve your quality
At the end of this session you know …
Agenda
 Introduction to process measurement
 Experience from practise
 Lessons learned from the project
Slide 2
www.software-quality-lab.com | improve your quality
The Why? and first ideas on the How?
Introduction to process measurement
Slide 3
www.software-quality-lab.com | improve your quality
Measurement as basis for all improvements
Why measure processes
Slide 4
Define goal and
path to reach it
Discover, where we are
Identify gap, to where
we should be
Find corrective measures
Go next step Goal reached 
www.software-quality-lab.com | improve your quality
Proper metrics show the way to our goal
Why measure processes
Slide 5
Source:DchicviaFlickr,https://www.flickr.com/photos/agenciamodels/6118171675
www.software-quality-lab.com | improve your quality
Boundaries show, when to act
Why measure processes
Slide 6
Upper boundary
Lower boundary
Target value
Measured value
Time
www.software-quality-lab.com | improve your quality
Define proper metrics with G-Q-M
GQM for defining metrics
1. Goal
 What should be done for whom?
 Which aspects do we want to change? What is the context?
e.g. „Improve the quality for all new projects“
2. Question
 Which questions guide us to the measurement goal?
e.g. „Are we finding the right bugs?“
3. Metric
 How can we answer the questions using metrics?
e.g. „Ratio of bugs found per severity class“
Slide 7
Define goals
Find
questions
Answer
questions
www.software-quality-lab.com | improve your quality
Example
GQM for defining metrics
Slide 8
Metric
Question
Goal We want to improve the
quality of our products!
Are we finding
the right bugs?
Ratio of
bugs per severity
No. of bugs
found after release
Do we find the bugs
instead of the users?
Ratio of
bugs found by QA
vs. Users
www.software-quality-lab.com | improve your quality
Question: Are we finding the right bugs?
Goal: Improve quality of our products
 Ratio of bugs per severity class
 Number of bugs found after release
 Per severity class
 Ratio of recurring bugs
 Average number of bugs found per test case
 Number of bugs found by test level
 Unit tests
 Integration tests
 System tests
 User acceptance tests
 Bugs found by type
 Coding bug
 Bad requirements
 UI bug
 …
Slide 9
www.software-quality-lab.com | improve your quality
So much for the theory, let‘s turn to practise …
Experience from practise
Slide 10
www.software-quality-lab.com | improve your quality
Situation at our customer
Experience from practise
Slide 11
http://pixabay.com/en/desert-road-sand-forward-winds-609316/
www.software-quality-lab.com | improve your quality
Goals for our customer
Experience from practise
 How bad is it really?
 What should we do?
 Set up an improvement cycle
Slide 12
http://en.wikipedia.org/wiki/PDCA#/media/File:PDCA_Cycle.svg
www.software-quality-lab.com | improve your quality
First attempt …
Experience from practise
 Our customer wanted to measure …
 ~120 metrics
 in 12 process fields with 21 processes
 on 4 levels
 from 14 different sources and source system
 But …
 for more than half of all metrics we could not get values
 no one really knew, what to do with the metrics
 management did not even look at it
 effort for getting numbers was extremly high
Slide 13
www.software-quality-lab.com | improve your quality
Some sources of values
Experience from practise
Slide 14
• Different levels of detail
• Errors and missing data
• Bookings on different categories
Time recording
• Each project with different structure
• Not comparable
• Incomplete
Project
planning
• Only for parts of all sourcecode
• Difficult to query and analyze
Source
Control
• Manually built Excel sheets by Project Managers
• Each project with different structure
• Not comparable
Controlling
sheets
• Very high effort
• Ambiguous questions
Questionaires
and interviews
Good at first glance,
but bad in detail …
www.software-quality-lab.com | improve your quality
Everything very difficult
Experience from practise
Slide 15
http://pixabay.com/en/squirrel-reading-books-surprise-304021/
www.software-quality-lab.com | improve your quality
New approach GQM
Experience from practise
1. Define two goals
 Ask management, what they would like to achieve
 Define reporting
2. Ask questions
3. Find metrics to answer question
 Only automatically measurable ones
 Only one per question
4. Define target values and boundaries
 Get target values from industry benchmarks
5. Try out and validate
6. Report to management
Slide 16
http://pixabay.com/en/shield-directory-panic-fear-trust-492992/
www.software-quality-lab.com | improve your quality
Step 1: Define Goals
Experience from practise
1. We want to improve quality to the customer
2. We want to increase developer productivity
Slide 17
Images from www.pixabay.com
www.software-quality-lab.com | improve your quality
Step 2: Ask questions
Experience from practise
1. We want to improve quality to the customer
 Do we find bugs instead of the customer?
 Are we testing enough?
 Are we testing effectively?
2. We want to increase developer productivity
 Do our developers spend too much time on bug fixing?
 Are we developing fast enough?
 Is the quality of our source code high enough?
Slide 18
Images from www.pixabay.com
www.software-quality-lab.com | improve your quality
Step 3: Find metrics
Experience from practise
1. We want to improve quality to the customer
 Do we find bugs instead of the customer?
• Ratio of bugs found by us to bugs found by customer
 Are we testing enough?
• Number of test cases tested per developer day
 Are we testing effectively?
• Number of bugs found per tester day
2. We want to increase developer productivity
 Do our developers spend too much time on bug fixing?
• Effort-ratio for bug fixing per developer month
 Are we developing fast enough?
• Number of changed LoC per developer day
 Is the quality of our source code high enough?
• Number of bugs found by customer per developer month
Slide 19
Images from www.pixabay.com
www.software-quality-lab.com | improve your quality
Step 4: Define target values and boundaries
Experience from practise
Slide 20
Metric Target Value Current value Conclusion
Changed LoC per
developer day
30 – 40 LoC per day 123 LoC per Day Too high. Results in
poor quality.
Effort-ratio for bug
fixing
25 - 35% 115% Far too high. Low
productivity.
Ratio of bugs found
by customer
1 – 3% of all bugs 68% of all bugs Far too high. Testing
not effective.
… … … …
Target range taken
from literature and
publications
www.software-quality-lab.com | improve your quality
Step 5: Try out and validate
Experience from practise
Slide 21
http://pixabay.com/en/calculator-calculation-insurance-385506/
www.software-quality-lab.com | improve your quality
Step 6: Reporting
Experience from practise
Slide 22
Trend for past thee
months
Textual comment
from Quality
Manager
www.software-quality-lab.com | improve your quality
Document metrics in a metric handbook
Experience from practise
Slide 23
Metric Effort-ratio of bug fixing per developer month
Goal Developers should produce high quality code and spend as much time
for implementing new features as possible
Benefit Fast development of new features
High quality
Formula Ratiobug fixing = Effortbug fixing / Total Effortdevelopment
Method Automatic calculation from timesheets
Datasource Time recording system
Interval Monthly
Responsible Process Manager
www.software-quality-lab.com | improve your quality
From practise
Lessons Learned
Slide 24
www.software-quality-lab.com | improve your quality
Tips for starting your quality metric system
Lessons Learned
 Define metrics top down, not bottom up
 Goal > Question > Metric
 Not: „Hey, look how many things we can measure!“
 Concentrate on 5 - 10 metrics, e.g. the one presented before
 Define lower and upper boundary together with your team
 … or measure without boundaries for some iterations and define boundaries then
 Start with automatically measurable metrics
 When defining metrics, always have in mind, if you have all data necessary in the quality needed
 Define in advance, what to do with the metrics
Slide 25
Image:http://pixabay.com/en/bulb-light-lamp-electric-160207/
www.software-quality-lab.com | improve your quality
Questions?
Lessons Learned from measuring software development processes
Slide 26
Your Partner in Software Quality and Testing
Software Quality Lab GmbH
www.software-quality-lab.com
Consulting | Service | Academy | Tool Expertise
Markus Unterauer
markus.unterauer@software-quality-lab.com

More Related Content

What's hot

software testing metrics do's - don'ts-XBOSoft-QAI Webinar
software testing metrics do's - don'ts-XBOSoft-QAI Webinarsoftware testing metrics do's - don'ts-XBOSoft-QAI Webinar
software testing metrics do's - don'ts-XBOSoft-QAI Webinar
XBOSoft
 
Testing Attributes
Testing AttributesTesting Attributes
Testing Attributes
Abiha Naqvi
 

What's hot (19)

QAAgility Trainings
QAAgility TrainingsQAAgility Trainings
QAAgility Trainings
 
www.tutorialsbook.com presents Manual testing
www.tutorialsbook.com presents Manual testingwww.tutorialsbook.com presents Manual testing
www.tutorialsbook.com presents Manual testing
 
Agile Testing
Agile Testing Agile Testing
Agile Testing
 
CAREER ROADMAP FOR GREEN BELTS
CAREER ROADMAP FOR GREEN BELTSCAREER ROADMAP FOR GREEN BELTS
CAREER ROADMAP FOR GREEN BELTS
 
software testing metrics do's - don'ts-XBOSoft-QAI Webinar
software testing metrics do's - don'ts-XBOSoft-QAI Webinarsoftware testing metrics do's - don'ts-XBOSoft-QAI Webinar
software testing metrics do's - don'ts-XBOSoft-QAI Webinar
 
Software Testing Interview Q&A – part 1
Software Testing Interview Q&A – part 1Software Testing Interview Q&A – part 1
Software Testing Interview Q&A – part 1
 
How to Juggle Multiple Beta Tests at Once
How to Juggle Multiple Beta Tests at OnceHow to Juggle Multiple Beta Tests at Once
How to Juggle Multiple Beta Tests at Once
 
Otto Vinter - Analysing Your Defect Data for Improvement Potential
Otto Vinter - Analysing Your Defect Data for Improvement PotentialOtto Vinter - Analysing Your Defect Data for Improvement Potential
Otto Vinter - Analysing Your Defect Data for Improvement Potential
 
InCycle Software presents: Quality enablement using agile practices with TFS ...
InCycle Software presents: Quality enablement using agile practices with TFS ...InCycle Software presents: Quality enablement using agile practices with TFS ...
InCycle Software presents: Quality enablement using agile practices with TFS ...
 
Orientation Program on Automated Software testing Powered by Infaum Education...
Orientation Program on Automated Software testing Powered by Infaum Education...Orientation Program on Automated Software testing Powered by Infaum Education...
Orientation Program on Automated Software testing Powered by Infaum Education...
 
Software Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour Presentation
Software Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour PresentationSoftware Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour Presentation
Software Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour Presentation
 
Testing Attributes
Testing AttributesTesting Attributes
Testing Attributes
 
Qfactory - A software testing service
 Qfactory - A software testing service Qfactory - A software testing service
Qfactory - A software testing service
 
Req2014_Fall-Final
Req2014_Fall-FinalReq2014_Fall-Final
Req2014_Fall-Final
 
Risk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
Risk Mitigation Using Exploratory and Technical Testing | QASymphony WebinarRisk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
Risk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
 
The Three Pillars Approach to Your Agile Test Strategy
The Three Pillars Approach to Your Agile Test Strategy The Three Pillars Approach to Your Agile Test Strategy
The Three Pillars Approach to Your Agile Test Strategy
 
Software testing interview Q&A – Part 2
Software testing interview Q&A – Part 2Software testing interview Q&A – Part 2
Software testing interview Q&A – Part 2
 
Enhancing Software Quality
Enhancing Software QualityEnhancing Software Quality
Enhancing Software Quality
 
Future of QA
Future of QAFuture of QA
Future of QA
 

Similar to Lessons learned from measuring software development processes

You cant control what you cant measure - Measuring requirements quality
You cant control what you cant measure - Measuring requirements qualityYou cant control what you cant measure - Measuring requirements quality
You cant control what you cant measure - Measuring requirements quality
Markus Unterauer
 
Introduction to Software Review
Introduction to Software ReviewIntroduction to Software Review
Introduction to Software Review
Philip Johnson
 
Assessing Your Agility: Introducing the Comparative Agility Assessment
Assessing Your Agility: Introducing the Comparative Agility AssessmentAssessing Your Agility: Introducing the Comparative Agility Assessment
Assessing Your Agility: Introducing the Comparative Agility Assessment
Mike Cohn
 
The Good, The Bad, and The Metrics
 The Good, The Bad, and The Metrics The Good, The Bad, and The Metrics
The Good, The Bad, and The Metrics
TeamQualityPro
 

Similar to Lessons learned from measuring software development processes (20)

You cant control what you cant measure - Measuring requirements quality
You cant control what you cant measure - Measuring requirements qualityYou cant control what you cant measure - Measuring requirements quality
You cant control what you cant measure - Measuring requirements quality
 
Setting the right goals and objectives for your beta test
Setting the right goals and objectives for your beta testSetting the right goals and objectives for your beta test
Setting the right goals and objectives for your beta test
 
Continuous testing in agile projects 2015
Continuous testing in agile projects 2015Continuous testing in agile projects 2015
Continuous testing in agile projects 2015
 
Project Management Tips to Improve Test Planning
Project Management Tips to Improve Test PlanningProject Management Tips to Improve Test Planning
Project Management Tips to Improve Test Planning
 
Beyond Simple A/B testing
Beyond Simple A/B testingBeyond Simple A/B testing
Beyond Simple A/B testing
 
System Development Life Cycle (SDLC) - Part I
System Development Life Cycle (SDLC)  - Part ISystem Development Life Cycle (SDLC)  - Part I
System Development Life Cycle (SDLC) - Part I
 
Start with Quality - an Agile Tester's Case Study
Start with Quality - an Agile Tester's Case StudyStart with Quality - an Agile Tester's Case Study
Start with Quality - an Agile Tester's Case Study
 
Introduction to Software Review
Introduction to Software ReviewIntroduction to Software Review
Introduction to Software Review
 
Measuring roi of training ppt slides
Measuring roi of training ppt slidesMeasuring roi of training ppt slides
Measuring roi of training ppt slides
 
Measuring roi of training
Measuring roi of trainingMeasuring roi of training
Measuring roi of training
 
Testing Metrics: Project, Product, Process
Testing Metrics: Project, Product, ProcessTesting Metrics: Project, Product, Process
Testing Metrics: Project, Product, Process
 
Use the Windshield, Not the Mirror Predictive Metrics that Drive Successful ...
 Use the Windshield, Not the Mirror Predictive Metrics that Drive Successful ... Use the Windshield, Not the Mirror Predictive Metrics that Drive Successful ...
Use the Windshield, Not the Mirror Predictive Metrics that Drive Successful ...
 
Creating Irresistible Products in 4 Steps by Google Product Leader
Creating Irresistible Products in 4 Steps by Google Product LeaderCreating Irresistible Products in 4 Steps by Google Product Leader
Creating Irresistible Products in 4 Steps by Google Product Leader
 
Assessing Your Agility: Introducing the Comparative Agility Assessment
Assessing Your Agility: Introducing the Comparative Agility AssessmentAssessing Your Agility: Introducing the Comparative Agility Assessment
Assessing Your Agility: Introducing the Comparative Agility Assessment
 
4S Akademi - QAI - Software Testing Principles and Concepts
4S Akademi - QAI - Software Testing Principles and Concepts4S Akademi - QAI - Software Testing Principles and Concepts
4S Akademi - QAI - Software Testing Principles and Concepts
 
The Good, The Bad, and The Metrics
 The Good, The Bad, and The Metrics The Good, The Bad, and The Metrics
The Good, The Bad, and The Metrics
 
Day 2 meet shilpa - measuring software quality-are you up-to-date on what an...
Day 2 meet shilpa  - measuring software quality-are you up-to-date on what an...Day 2 meet shilpa  - measuring software quality-are you up-to-date on what an...
Day 2 meet shilpa - measuring software quality-are you up-to-date on what an...
 
Software Testing Process & Trend
Software Testing Process & TrendSoftware Testing Process & Trend
Software Testing Process & Trend
 
Data-Driven Product Management by Shutterfly Director of Product
Data-Driven Product Management by Shutterfly Director of ProductData-Driven Product Management by Shutterfly Director of Product
Data-Driven Product Management by Shutterfly Director of Product
 
Sanitized tb swstmppp1516july
Sanitized tb swstmppp1516julySanitized tb swstmppp1516july
Sanitized tb swstmppp1516july
 

More from Markus Unterauer

More from Markus Unterauer (12)

Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
 
Notfallvorsorge in der Stadt - Staatliche Notfallvorsorge in Österreich
Notfallvorsorge in der Stadt - Staatliche Notfallvorsorge in ÖsterreichNotfallvorsorge in der Stadt - Staatliche Notfallvorsorge in Österreich
Notfallvorsorge in der Stadt - Staatliche Notfallvorsorge in Österreich
 
Specification by example
Specification by exampleSpecification by example
Specification by example
 
Definition of Ready
Definition of ReadyDefinition of Ready
Definition of Ready
 
Man kann nicht nicht planen
Man kann nicht nicht planenMan kann nicht nicht planen
Man kann nicht nicht planen
 
Was machen unsere Anwender so? Prozessmodellierung mit BPMN
Was machen unsere Anwender so? Prozessmodellierung mit BPMNWas machen unsere Anwender so? Prozessmodellierung mit BPMN
Was machen unsere Anwender so? Prozessmodellierung mit BPMN
 
Risikobasiertes testen
Risikobasiertes testenRisikobasiertes testen
Risikobasiertes testen
 
"Das Reiten eines hässlichen Pferdes ist verboten" - Gesetze aus Sicht eines ...
"Das Reiten eines hässlichen Pferdes ist verboten" - Gesetze aus Sicht eines ..."Das Reiten eines hässlichen Pferdes ist verboten" - Gesetze aus Sicht eines ...
"Das Reiten eines hässlichen Pferdes ist verboten" - Gesetze aus Sicht eines ...
 
Tipps für Requirements Management Tools
Tipps für Requirements Management ToolsTipps für Requirements Management Tools
Tipps für Requirements Management Tools
 
Erfolgsfaktoren im Requirements Engineering
Erfolgsfaktoren im Requirements EngineeringErfolgsfaktoren im Requirements Engineering
Erfolgsfaktoren im Requirements Engineering
 
Software Quality Lab - Beratung und Training für mehr Qualität und Effizienz ...
Software Quality Lab - Beratung und Training für mehr Qualität und Effizienz ...Software Quality Lab - Beratung und Training für mehr Qualität und Effizienz ...
Software Quality Lab - Beratung und Training für mehr Qualität und Effizienz ...
 
Traceability von Software Anforderungen
Traceability von Software AnforderungenTraceability von Software Anforderungen
Traceability von Software Anforderungen
 

Recently uploaded

Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 

Recently uploaded (20)

Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 

Lessons learned from measuring software development processes

  • 1. Software Quality Lab Markus Unterauer Consultant and trainer Lessons Learned from measuring software development processes
  • 2. www.software-quality-lab.com | improve your quality At the end of this session you know … Agenda  Introduction to process measurement  Experience from practise  Lessons learned from the project Slide 2
  • 3. www.software-quality-lab.com | improve your quality The Why? and first ideas on the How? Introduction to process measurement Slide 3
  • 4. www.software-quality-lab.com | improve your quality Measurement as basis for all improvements Why measure processes Slide 4 Define goal and path to reach it Discover, where we are Identify gap, to where we should be Find corrective measures Go next step Goal reached 
  • 5. www.software-quality-lab.com | improve your quality Proper metrics show the way to our goal Why measure processes Slide 5 Source:DchicviaFlickr,https://www.flickr.com/photos/agenciamodels/6118171675
  • 6. www.software-quality-lab.com | improve your quality Boundaries show, when to act Why measure processes Slide 6 Upper boundary Lower boundary Target value Measured value Time
  • 7. www.software-quality-lab.com | improve your quality Define proper metrics with G-Q-M GQM for defining metrics 1. Goal  What should be done for whom?  Which aspects do we want to change? What is the context? e.g. „Improve the quality for all new projects“ 2. Question  Which questions guide us to the measurement goal? e.g. „Are we finding the right bugs?“ 3. Metric  How can we answer the questions using metrics? e.g. „Ratio of bugs found per severity class“ Slide 7 Define goals Find questions Answer questions
  • 8. www.software-quality-lab.com | improve your quality Example GQM for defining metrics Slide 8 Metric Question Goal We want to improve the quality of our products! Are we finding the right bugs? Ratio of bugs per severity No. of bugs found after release Do we find the bugs instead of the users? Ratio of bugs found by QA vs. Users
  • 9. www.software-quality-lab.com | improve your quality Question: Are we finding the right bugs? Goal: Improve quality of our products  Ratio of bugs per severity class  Number of bugs found after release  Per severity class  Ratio of recurring bugs  Average number of bugs found per test case  Number of bugs found by test level  Unit tests  Integration tests  System tests  User acceptance tests  Bugs found by type  Coding bug  Bad requirements  UI bug  … Slide 9
  • 10. www.software-quality-lab.com | improve your quality So much for the theory, let‘s turn to practise … Experience from practise Slide 10
  • 11. www.software-quality-lab.com | improve your quality Situation at our customer Experience from practise Slide 11 http://pixabay.com/en/desert-road-sand-forward-winds-609316/
  • 12. www.software-quality-lab.com | improve your quality Goals for our customer Experience from practise  How bad is it really?  What should we do?  Set up an improvement cycle Slide 12 http://en.wikipedia.org/wiki/PDCA#/media/File:PDCA_Cycle.svg
  • 13. www.software-quality-lab.com | improve your quality First attempt … Experience from practise  Our customer wanted to measure …  ~120 metrics  in 12 process fields with 21 processes  on 4 levels  from 14 different sources and source system  But …  for more than half of all metrics we could not get values  no one really knew, what to do with the metrics  management did not even look at it  effort for getting numbers was extremly high Slide 13
  • 14. www.software-quality-lab.com | improve your quality Some sources of values Experience from practise Slide 14 • Different levels of detail • Errors and missing data • Bookings on different categories Time recording • Each project with different structure • Not comparable • Incomplete Project planning • Only for parts of all sourcecode • Difficult to query and analyze Source Control • Manually built Excel sheets by Project Managers • Each project with different structure • Not comparable Controlling sheets • Very high effort • Ambiguous questions Questionaires and interviews Good at first glance, but bad in detail …
  • 15. www.software-quality-lab.com | improve your quality Everything very difficult Experience from practise Slide 15 http://pixabay.com/en/squirrel-reading-books-surprise-304021/
  • 16. www.software-quality-lab.com | improve your quality New approach GQM Experience from practise 1. Define two goals  Ask management, what they would like to achieve  Define reporting 2. Ask questions 3. Find metrics to answer question  Only automatically measurable ones  Only one per question 4. Define target values and boundaries  Get target values from industry benchmarks 5. Try out and validate 6. Report to management Slide 16 http://pixabay.com/en/shield-directory-panic-fear-trust-492992/
  • 17. www.software-quality-lab.com | improve your quality Step 1: Define Goals Experience from practise 1. We want to improve quality to the customer 2. We want to increase developer productivity Slide 17 Images from www.pixabay.com
  • 18. www.software-quality-lab.com | improve your quality Step 2: Ask questions Experience from practise 1. We want to improve quality to the customer  Do we find bugs instead of the customer?  Are we testing enough?  Are we testing effectively? 2. We want to increase developer productivity  Do our developers spend too much time on bug fixing?  Are we developing fast enough?  Is the quality of our source code high enough? Slide 18 Images from www.pixabay.com
  • 19. www.software-quality-lab.com | improve your quality Step 3: Find metrics Experience from practise 1. We want to improve quality to the customer  Do we find bugs instead of the customer? • Ratio of bugs found by us to bugs found by customer  Are we testing enough? • Number of test cases tested per developer day  Are we testing effectively? • Number of bugs found per tester day 2. We want to increase developer productivity  Do our developers spend too much time on bug fixing? • Effort-ratio for bug fixing per developer month  Are we developing fast enough? • Number of changed LoC per developer day  Is the quality of our source code high enough? • Number of bugs found by customer per developer month Slide 19 Images from www.pixabay.com
  • 20. www.software-quality-lab.com | improve your quality Step 4: Define target values and boundaries Experience from practise Slide 20 Metric Target Value Current value Conclusion Changed LoC per developer day 30 – 40 LoC per day 123 LoC per Day Too high. Results in poor quality. Effort-ratio for bug fixing 25 - 35% 115% Far too high. Low productivity. Ratio of bugs found by customer 1 – 3% of all bugs 68% of all bugs Far too high. Testing not effective. … … … … Target range taken from literature and publications
  • 21. www.software-quality-lab.com | improve your quality Step 5: Try out and validate Experience from practise Slide 21 http://pixabay.com/en/calculator-calculation-insurance-385506/
  • 22. www.software-quality-lab.com | improve your quality Step 6: Reporting Experience from practise Slide 22 Trend for past thee months Textual comment from Quality Manager
  • 23. www.software-quality-lab.com | improve your quality Document metrics in a metric handbook Experience from practise Slide 23 Metric Effort-ratio of bug fixing per developer month Goal Developers should produce high quality code and spend as much time for implementing new features as possible Benefit Fast development of new features High quality Formula Ratiobug fixing = Effortbug fixing / Total Effortdevelopment Method Automatic calculation from timesheets Datasource Time recording system Interval Monthly Responsible Process Manager
  • 24. www.software-quality-lab.com | improve your quality From practise Lessons Learned Slide 24
  • 25. www.software-quality-lab.com | improve your quality Tips for starting your quality metric system Lessons Learned  Define metrics top down, not bottom up  Goal > Question > Metric  Not: „Hey, look how many things we can measure!“  Concentrate on 5 - 10 metrics, e.g. the one presented before  Define lower and upper boundary together with your team  … or measure without boundaries for some iterations and define boundaries then  Start with automatically measurable metrics  When defining metrics, always have in mind, if you have all data necessary in the quality needed  Define in advance, what to do with the metrics Slide 25 Image:http://pixabay.com/en/bulb-light-lamp-electric-160207/
  • 26. www.software-quality-lab.com | improve your quality Questions? Lessons Learned from measuring software development processes Slide 26
  • 27. Your Partner in Software Quality and Testing Software Quality Lab GmbH www.software-quality-lab.com Consulting | Service | Academy | Tool Expertise Markus Unterauer markus.unterauer@software-quality-lab.com

Editor's Notes

  1. My name is Markus Unterauer I come from Software quality lab in austria Out mission is software quality Quality for us does not start at testing, but with the first line of business goals and requirements This vision of software quality was also the starting point of this talk
  2. Let‘s have a look at what you can expect today And what you should take home …
  3. Why is requirements quality that important? QUESTION TO THE AUDIENCE Who of you has problems with poor or bad requirements? With misunderstandings? Let‘s take a closer look, to how practical work in the field of requirements quality really looks like today …
  4. ANIMATION Every improvement starts with defining the goal … At „Discover where we are“ and „Identify gap“ we need to measure
  5. ANIMATION At first I have to decide what to measure A metric must fulfill some criteria It must represent the current situation right It must allow me to derive measures
  6. For each metric we have to define an ideal value Around this ideal value, there is a range, where things are ok If our metrics show, that we leave the green zone, we need to act
  7. One approach to find the proper metrics to measure requirements quality is the GQM approach …
  8. Here we have another example for GQM in requirements quality measurement
  9. We know now Requirements are important Often they are done bad That leads defects, high costs and missed expectations So, we need better requirements
  10. At the moment it is ok, but first dark clouds on horizon Storm is coming First signs are already visible They tried to start measiring so that they get info, where tehy sould go
  11. without us ;-)
  12. For each metric, we took a look in advance, whether we have the data!
  13. Perform measurement, get values Reports from existing systems LoC -> Source-Control Bug numbers -> Bugtracking tool
  14. We know now Requirements are important Often they are done bad That leads defects, high costs and missed expectations So, we need better requirements