© 2014 Carnegie Mellon University
Evaluating the Quality of
Software Engineering
Performance Data
James Over
Software Engineering Institute
Carnegie Mellon University
2
Team Software Process
© 2014 Carnegie Mellon University
Copyright 2014 Carnegie Mellon University
This material is based upon work funded and supported by Industry cost recovery under Contract No. FA8721-05-C-0003 with Carnegie Mellon University for the operation of the Software Engineering Institute, a federally funded research and
development center sponsored by the United States Department of Defense.
Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of Industry cost recovery or the United States Department of Defense.
NO WARRANTY. THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING INSTITUTE MATERIAL IS FURNISHED ON AN “AS-IS” BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM
PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT.
This material has been approved for public release and unlimited distribution.
This material may be reproduced in its entirety, without modification, and freely distributed in written or electronic form without requesting formal permission. Permission is required for any other use. Requests for permission should be directed to the Software Engineering Institute at [email protected].
Carnegie Mellon® is registered in the U.S. Patent and Trademark Office by Carnegie Mellon University.
Team Software ProcessSM and TSPSM are service marks of Carnegie Mellon University.
3
Team Software Process
© 2014 Carnegie Mellon University
Managing Software Development
Managing software engineering is
challenging due to the nature of
the work.
Intuition
The ability to understand something
immediately without the need for
conscious reasoning
Counterintuitive
Contrary to intuition or
common-sense, but often true
4
Team Software Process
© 2014 Carnegie Mellon University
Management Visibility
Data can provide visibility into a
software project’s past and future
performance.
•
Did the project meet key
milestones?
•
Is the project on schedule?
•Are costs under control?
•
How does project performance
compare to other projects?
•
Will the software work when
5
Team Software Process
© 2014 Carnegie Mellon University
Can We Trust the Data?
“In God we trust, all others
bring data” - Deming
Manufacturing data
•
standard operational definitions
•machines measure, collect, and
report
•
precise and accurate
Software engineering project data
•
lack of standards and operational
definitions
•
people often measure, collect,
and report
6
Team Software Process
© 2014 Carnegie Mellon University
TSP Measures
Work Product
Size
Time on Task
Defects
Resource
Availability
Schedule
TSP Measurement Framework
Five direct measures
Team and team member data
Estimated during planning
Measured while working
Evaluated weekly and when
•
task completed
•phase completed
•
component completed
•cycle completed
7
Team Software Process
© 2014 Carnegie Mellon University
Measurement Context Supports Evaluation
The five direct measures include a reference to
•
Who – team and team member
•
What – project, product or component, size measure, process, process
phase, and task
•
When – project cycle, calendar, time of day
The five direct measures have dependencies that can be evaluated to test
for internal consistency, for example:
•
Work or tasks are ordered and time on task cannot overlap
•
Defects are found while performing a task and the timestamp and time to fix
cannot exceed the start and stop time for the task
•
Product size, time to perform a task, and defects injected and removed are
8
Team Software Process
© 2014 Carnegie Mellon University
Performance Evaluation Process
Import Data
• Assess
submission
• Store data
• Add to catalog
Data
Quality
Check
• Consistency
Analysis
• Statistical
Analysis
• Falsified values
Baseline
• Project Facts
• Product Facts
• Process Facts
Benchmark
• Projects
• Organizations
Produce Certificate9
Team Software Process
© 2014 Carnegie Mellon University
TSP Data
Database 1
Projects
114
Time Log Entries
100,466
Defect Log Entries
10,860
Tasks
73,000
Components
8,412
Database 2
Projects
109
Time Log Entries
103,023
Defect Log Entries
18,408
Tasks
11,499
10
Team Software Process
© 2014 Carnegie Mellon University
Example Data Quality Tests
Check for missing or incorrect value
•
time log entry without a start or stop date
•
defect log entry without a reference to the phase where the defect was
discovered
Check for internal inconsistency
•
Time log entry outside of the project start and end date, or overlaps with
another entry, or violates process sequencing
•
Defect log entry timestamp inconsistent with outside the start and end date
for the associated task
Check for statistical anomalies and expected distributions
•
Test the distribution of each direct measures to expected values
•Outlier evaluation
11
Team Software Process
© 2014 Carnegie Mellon University
Time Log Leading Digit Analysis
0.00% 5.00% 10.00% 15.00% 20.00% 25.00% 30.00% 35.00% 1 2 3 4 5 6 7 8 9 Fre qu en cy Leading Digit
Time Log Leading Digit Analysis
Expected Actual
The TSP Time Log tracks time spent
on tasks in the plan.
Accurate data are important.
•
How many task hours this week?
•How many task hours to complete a
module or component?
Tracking in real time improves
accuracy.
The leading digit analysis compares
data to the ideal distribution.
12
Team Software Process
© 2014 Carnegie Mellon University
Defect Log and Size Log Analysis
0.00% 5.00% 10.00% 15.00% 20.00% 25.00% 30.00% 35.00% 40.00% 45.00% 1 2 3 4 5 6 7 8 9 Fre qu en cy
Leading Digit (fix time)
Defect Log Leading Digit
Analysis
Expected Actual 0.00% 5.00% 10.00% 15.00% 20.00% 25.00% 30.00% 35.00% 40.00% 1 2 3 4 5 6 7 8 9 Fre qu en cy Leading DigitSize Log Leading Digit Analysis
Expected Actual
13
Team Software Process
© 2014 Carnegie Mellon University
14
Team Software Process
© 2014 Carnegie Mellon University
Team Size
18 15 12 9 6 3 18 16 14 12 10 8 6 4 2 0Team Size
Frequency
Mean
= 8.2
Median = 8.0
15
Team Software Process
© 2014 Carnegie Mellon University
Mean Team Member Weekly Task Hours
23.6 20.0 16.4 12.8 9.2 5.6 2.0 18 16 14 12 10 8 6 4 2 0
Mean Team Member Weekly Task Hours
Frequency
Mean
= 10.3
Median = 9.0
16
Team Software Process
© 2014 Carnegie Mellon University 90 75 60 45 30 15 0 40 30 20 10 0
Productivity (LOC/Hr)
Frequency
Productivity
Mean
= 10.3
Median = 7.1
17
Team Software Process
© 2014 Carnegie Mellon University
Plan Vs. Actual Hours for Completed Parts
R² = 0.952
0
1,000
2,000
3,000
4,000
5,000
6,000
7,000
8,000
9,000
10,000
0
2,000
4,000
6,000
8,000
10,000
Actual Hours for
Completed Parts
18
Team Software Process
© 2014 Carnegie Mellon University
Plan Task Hours Vs. Actual Task Hours
R² = 0.8038
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
0
2000
4000
6000
8000
10000
Actual
Task Hours
19
Team Software Process
© 2014 Carnegie Mellon University
Defect Density – Median of Defects Per KLOC
0.15 0.7 3.8 3.3 5.2 2.2 0 1 2 3 4 5 6 System Test Build/Integration Test Unit Test Code Inspection Code Review DLD Review
20
Team Software Process
© 2014 Carnegie Mellon University
Summary
Management should be part instinct and part fact-based, but the lack of
data and facts in software engineering slows learning.
Deming urged us to trust data more than our intuition, but can the data
be trusted?
This presentation has shown a measurement system that
•
can be evaluated to determine the accuracy of project data.
•
has built-in checks and balances to guard against intentional and
unintentional errors.
•
produces data that supports estimating, planning, tracking, baselines,
21
Team Software Process
© 2014 Carnegie Mellon University
22
Team Software Process
© 2014 Carnegie Mellon University