se-280 dr. mark l. hornick 1 in software engineering, we sometimes distinguish between...
TRANSCRIPT
1SE-280Dr. Mark L. Hornick
In software engineering, we sometimes distinguish between "practice" and "process".
By "practice", we mean "what" software engineers do (e.g., analyze
requirements, create architectural and detailed designs, implement, verify).
By "process", we mean "how" software engineers do their work (e.g., plan, organize,
measure, make and meet commitments, ensure quality, control, improve, adapt).
What do software engineering managers say they most want from software developers and teams?
What do software engineering managers say they most want from software developers and teams?
Predictability
Quality
4SE-280Dr. Mark L. Hornick
If I were to give you a requirements specification for a medium-sized program, could you tell me in advance . . .
. . . how long it would take you to write the program?
. . . how many defects you would inject during its development?
. . . how many defects will remain when it is completed?
Who are these people?
6SE-280Dr. Mark L. Hornick
Why do we need a Process?
Many developers do not know how to estimate
Management sets aggressive goals
Marketing makes promises to customers
7SE-280Dr. Mark L. Hornick
Why do we need a Process?
Many organizations today cannot meet commitments with repeatability Project A completes without any problems Project B is a disaster
Late Incomplete Not tested
Too many times, the result is Cancelled projects Management over-reaction
What is your current software development process? What is good and bad about it?[Group exercise]
9SE-280Dr. Mark L. Hornick
In this course, you will gain experience in using a defined software process and measuring your own performance.
The Personal Software Process (PSP) is designed to allow individual software engineers to improve their own work.
The Team Software Process (TSP) builds on the PSP to help self-directed software engineering teams to deliver high-quality
products on predictable schedules.
10SE-280Dr. Mark L. Hornick
The PSP and TSP were developed by Watts Humphrey at the Software Engineering Institute (SEI).
In 2005, Humphrey was awarded the National Medal of
Technology for his work in software process
improvement.
11SE-280Dr. Mark L. Hornick
Industry experience shows that the TSP can help teams achieve high levels of quality.
7.5
6.24
4.73
2.28
1.05
0.060
1
2
3
4
5
6
7
8
Level 1 Level 2 Level 3 Level 4 Level 5 TSP
Defects/KLOC
Total Delivered Defects/KLOC
N. Davis and J. Mullaney, The Team Software Process (TSP) in Practice: A Summary of Recent Results, Technical Report CMU/SEI-2003-TR-014, www.sei.cmu.edu/publications/.
12SE-280Dr. Mark L. Hornick
[Source: AIS]
Schedule Deviation Individual Value Control Chart - Commercial Systems
-150-100
-500
50100150
200250
300350
01/8801/89
01/9001/91
01/9201/93
01/9401/95
01/9601/97
01/98
Date of Project Start
% D
ev
iati
on
Individual Data Points Mean Upper Natural Process Limit
Lower Natural Process Limit One Standard Deviation
CMM introduced
TSP introduced
By increasing predictability, the TSP helps teams to function more effectively.
13SE-280Dr. Mark L. Hornick
Data from PSP training courses show similar results for practicing software engineers and MSOE SE students.
Total Defect Density (SEI)
0.0
20.0
40.0
60.0
80.0
100.0
120.0
140.0
160.0
180.0
200.0
1A 2A 3A 4A 5A 6A 7A 8A 9A 10A
Program
Def
ects
/KL
OC Max
75pct
Avg
25pct
Min
SEI: 810 engineers MSOE: 83 sophomore students
Total Defect Density (MSOE)
0.0
20.0
40.0
60.0
80.0
100.0
120.0
140.0
160.0
180.0
200.0
1A 2A 3A 4A 5A 6A 7A 8A 9A 10A
Program
Def
ects
/KL
OC Max
75pct
Avg
25pct
Min
14SE-280Dr. Mark L. Hornick
Yield is a measure of the percentage of defects removed by a specified point in the process.
Yield Before Compile (SEI)
0.0
10.0
20.0
30.0
40.0
50.0
60.0
70.0
80.0
90.0
100.0
1A 2A 3A 4A 5A 6A 7A 8A 9A 10A
Program
Yie
ld (
%)
Max
75pct
Avg
25pct
Min
Yield Before Compile (MSOE)
0.0
10.0
20.0
30.0
40.0
50.0
60.0
70.0
80.0
90.0
100.0
1A 2A 3A 4A 5A 6A 7A 8A 9A 10A
Program
Yie
ld (
%)
Max
75pct
Avg
25pct
Min
SEI: 810 engineers MSOE: 83 sophomore students
15SE-280Dr. Mark L. Hornick
Testing time is a major cost in commercial software development; PSP course data shows a reduction in test time.
Test TIme % (SEI)
0.0
5.0
10.0
15.0
20.0
25.0
30.0
35.0
40.0
1A 2A 3A 4A 5A 6A 7A 8A 9A 10A
Program
Tes
t T
Ime
%
Max
75pct
Avg
25pct
Min
Test TIme % (MSOE)
0.0
5.0
10.0
15.0
20.0
25.0
30.0
35.0
40.0
1A 2A 3A 4A 5A 6A 7A 8A 9A 10A
Program
Tes
t T
ime
%
Max
75pct
Avg
25pct
Min
SEI: 810 engineers MSOE: 83 sophomore students
16SE-280Dr. Mark L. Hornick
Even with additional PSP planning and quality activities, overall productivity remains nearly constant.
Productivity (MSOE)
0.0
10.0
20.0
30.0
40.0
50.0
60.0
1A 2A 3A 4A 5A 6A 7A 8A 9A 10A
Program
LO
C/H
ou
r
Max
75pct
Avg
25pct
Min
Productivity (SEI)
0.0
10.0
20.0
30.0
40.0
50.0
60.0
1A 2A 3A 4A 5A 6A 7A 8A 9A 10A
Program
LO
C/H
ou
r
Max
75pct
Avg
25pct
Min
SEI: 810 engineers MSOE: 83 sophomore students
17SE-280Dr. Mark L. Hornick
You can improve your own performance as a software engineer using disciplined methods, but it does take some effort.
MSOE sports photos courtesy of Dr. Eric Durant
18SE-280Dr. Mark L. Hornick
Please complete the following assignment before the start of the next class.
Read textbook pages 1-34. Download the Process Support Tool from
the course website Log into SVN to verify that you are set up
correctly https://emerald.msoe.edu/svn/se280-<your-name> Ask right away if you have problems or questions
about SVN Bring your notebook computers to class
19SE-280Dr. Mark L. Hornick
Here are a few references on SE process, PSP, and TSP.
W. Humphrey, PSP – A Self-Improvement Process for Software Engineers, A-W, 2005
W. Humphrey, Introduction to the Team Software Process, A-W, 2000 W. Humphrey, Winning with Software: An Executive Strategy, A-W, 2002 N. Davis & J. Mullaney, The Team Software Process in Practice: A
Summary of Recent Results, SEI, 2003 SEI/CMU-2003-TR-014 (www.sei.cmu.edu)
D. Suri and M. Sebern, “Incorporating software process in an undergraduate software engineering curriculum: challenges and rewards”, Proceedings of CSEE&T’04, 2004
M. Sebern, “The software development laboratory: incorporating industrial practice in an academic environment”, Proceedings of CSEE&T’05, 2005