SE-280Dr. Mark L. Hornick
1
Software Engineering Process
Based on what you have learned so far… What is your current development
process? What can you say about it? What is good/bad about it?
SE-280Dr. Mark L. Hornick
2
If you are given a requirements specification for a medium-sized program, could you state 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?
SE-280Dr. Mark L. Hornick
3
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
SE-280Dr. Mark L. Hornick
4
Data from PSP training courses usually show similar results for practicing software engineers and MSOE SE students.
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
SEI: 810 engineers MSOE: 30 sophomore students
SE-280Dr. Mark L. Hornick
5
And sometimes they don’t agree...
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: 30 sophomore students
SE-280Dr. Mark L. Hornick
6
Testing time is a major cost in commercial software development; PSP course data shows a general 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
SEI: 810 engineers MSOE: 30 sophomore students
SE-280Dr. Mark L. Hornick
7
Even with additional PSP planning and quality activities, overall productivity remains nearly constant.
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: 30 sophomore students
SE-280Dr. Mark L. Hornick
8
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/.
SE-280Dr. Mark L. Hornick
9
[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.
SE-280Dr. Mark L. Hornick
10
In 2005, Humphrey was awarded the National Medal of Technology for his work in software process improvement.
Jan 15, 2009
Watts Humphrey named ACM Fellow For contributions to computing
and Information Technology For innovations made in areas
critical to Global Competitiveness
For contributions to software engineering process discipline
SE-280Dr. Mark L. Hornick
11
Watts Humphrey1927-2010
SE-280Dr. Mark L. Hornick
12
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
SE-280Dr. Mark L. Hornick
13
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