copyright 2001 - larry dribin, ph.d. se470_otherseproc_v1.pp se470 other se processes - 1...
Post on 21-Dec-2015
217 views
TRANSCRIPT
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 1
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
SE470 - Other Software Engineering Processes
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimizing Level
Larry Dribin, Ph.D. - DePaul University
Phone: (847)807-7390 - Fax: (847)459-1650
Email: [email protected]
Copyright 2001 - Larry Dribin, Ph.D. - v1 10-29-01
Excellence in Software Engineering
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 2
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
Software Engineering Institute (SEI)
Organization funded by the Department of Defense (DOD) to improve software in DOD operations.
Established in December 1984. Located at Carnegie Mellon University. Research and publications oriented. Most publications available to public.
The SEI Mission is to improve the state of the practice of software engineering.
The SEI Mission is to improve the state of the practice of software engineering.
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 3
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
In 1991 SEI Developed the Capability Maturity Model - CMMSW
The SEI developed the CMM to characterize the capabilities of software organizations and help them improve. Each of the five levels of the CMM defines a set of processes which determine an organization’s capability to develop software. Each level provides a foundation for the levels above.
• Organized collections of best practices• Based on work by Crosby, Deming,
Juran, Humphrey...• Systematic ordered approach to process
improvement• Means of measuring organizational
capability and maturity• Have proven to bring significant return
on investment in productivity and quality • Provide easy to use models for process
improvement Repeatable Level
Defined Level
ManagedLevel
Excellence in IT Functioning
Initial Level
Optimizing Level
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 4
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
CMMSW - Software Process Maturity ModelLevel Characteristic
• Process optimization using continuous process improvement. Cost and schedule under control with very high quality.
• Process metrics gathered automatically and analyzed. Problem prevention processes in place. Cost, schedule and quality in control.
• Development process defined and followed by staff. Process group established. Reliable cost and schedules, but quality varies.
• Basic project controls in place, reasonable control over schedules, but cost and quality vary widely.
• Chaotic, Ad Hoc, each project run differently, missed schedules, over budget and low quality.
• Optimizing
• Managed
• Defined
• Repeatable
• Initial
Provided a framework for better management.Provided a framework for better management.
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 5
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
CMMSW - Capability Maturity Model v1.1Level Focus Key Process Area Result
Level 5Optimizing
ContinuousImprovement
Defect Prevention Process Change Mgmt Tech Change Mgmt
Productivity & Quality
Level 4Managed
Product andProcessQuality
Quality Process Mgmt Software Quality Mgmt
Level 3Defined
OrganizationWideEngineeringProcess
Org Process Focus Org Process Definition Training Program Integrated Software Mgmt Inter-group Coordination Software Product
Engineering Peer Reviews
Level 2Repeatable
Basic ProjectManagement
Requirements Mgmt Software Project Planning Project Tracking & Oversight Subcontract Mgmt Software Quality Assurance Configuration Mgmt
Level 1Initial
Heroes None
R I S K
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 6
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
SEI CMMSW Level 2 Key Process Areas
Requirements Management - the practices associated with managing requirements between the software developer and the user
Software Quality Assurance - the practice of providing quality assurance for the software development projects
Software Project Planning - the practices associated with planning and estimation software projects
Software Project Tracking - the practices associated with tracking a software development project throughout its life
Configuration Management - the practices associated with managing the composition of and version numbering of a software product release
Subcontractor Management - the practices associated with managing software subcontractors such as Operating Level Agreements
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 7
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
Prerequisites for Success
Project Team - processes in place & followed Management - commitment and support Users - willingness to change
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 8
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
CMMSW - Related Software Process Models
CMM - Capability Maturity Model - CMM Focuses on organizational
performance.
Team Software Process - TSP Focuses on team performance.
Personal Software Process PSP - Focuses on individual
performance.
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 9
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
CMMSW - CMM Issues in the Commercial World Too many companies focus on CMM level and not “real” process improvements
such as: Fewer defects, more productivity, faster time to market CMM process focus is on software development and it doesn’t cover some key
Commercial IT areas: Business Strategy and its linkage to IT Front End - Project Selection Back End - Operations, support, help desk, maintenance Organization structures and staff capabilities Applications portfolio
We often need to supplement the CMM in areas it does not cover Often implement a CMMLite with less stringent process definitions
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 10
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
Process Maturity Comparison
51
29
164 0.60 0.5
715
79
0
20
40
60
80
100
Initial Repeatable Defined Managed Optimizing
Organization Process Maturity Level
Pro
ject
s (%
)
1998
1988
“The State of Software Engineering Practice: A Preliminary Report” , Watts Humphrey, et. al., SEI, February 1989.
1998 1988 807 (261) Organizations• 54% (29%) Commercial• 29% (41%) DoD/Fed Contractor• 13% (23%) Military• 4 %(07%) Other
CMMSW - State of Practice 1998 vs. 1988
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 11
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
CMM Maturity Level
0 1 2 3
3.5
3
2.5
2
1.5
1
0.5
0
Rat
io o
f A
ctu
al t
oE
stim
ated
Co
stCMMSW Results - Project Cost vs. CMM Level
Source: Software a Challenge for Management, Watts Humphrey, Cspin Presentation, November 7, 1996
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 12
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
CMMSW Results - Master Business Systems
Calender EffortSEI Time in in Person Defects Total CostLevel Months Months Discovered Shipped Median $ Lowest $ Highest $
1 29.8 593.5 1348 61 $5,440,000 $1,786,000 $101,721,0002 18.5 143 328 12 $1,311,000 $962,000 $1,732,0003 15.2 79.5 182 7 $728,000 $518,000 $933,0004 12.5 42.8 97 5 $392,000 $279,000 $502,0005 9.0 16 37 1 $146,000 $15,000 $271,000
Source: Master Business Systems, Inc, & QSM data from over 1,300 similar projects for the code and test phase
of a typical business application of 200,000 Lines Of Code.
Those organizations at high CMM levels produce traditional applications well and also produce Internet, Web and eBusiness applications well.
Those organizations at high CMM levels produce traditional applications well and also produce Internet, Web and eBusiness applications well.
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 13
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
The CMM works well for those organizations that implement it effectively. Not all organizations do!
The CMM works well for those organizations that implement it effectively. Not all organizations do!
CMMSW Results - The CMMSW WorksThe CMMSW enables organizations to develop software:
Faster - Reduces development time Better - Produces products with fewer defects and
which better satisfy user requirements Cheaper - Lower development costs
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 14
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
How to get more information on the SEI CMM:
Research Access Incorporated or Customer Relations
800 Vinial Street Software Engineering Institute
Pittsburgh, Pa 15213 Carnegie Mellon University
Pittsburgh, PA 15213
Phone: (800)685-6510 (412)268-5800
Fax: (412)321-2992
http://www.rai.com http://www.sei.cmu.edu
and ask for documents:
CMU/SEI-93-TR24 (ESD-TR-93-24)
CMU/SEI-93-TR25 (ESD-TR-93-25)
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 15
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
ISO 9000 - The Global Quality Standard Adopted in 1987. A minimum set of quality system standards. Over 50 Nations have adopted ISO 9000 as their own national standard
for Quality The United States has Adopted ISO 9000 as ANSI/ASQC Q90 Series. Each of the 12 member nations of the EC has adopted ISO. Voluntary standard, but in some cases required by the EC and other
governments.
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 16
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
ISO 9000 Series
ISO # ANSI#
ISO9000 (Q90)
ISO 9001 (Q91)
ISO 9002 (Q92)
ISO 9003 (Q93)
ISO 9004 (Q94)
ISO 9000-3
Description
– Quality Management and Quality Assurance Standards - Guidelines for Selection and Use.
– Quality Systems - Model for Quality Assurance in Design and Development, Production, Installation and Servicing.
– Production and Installation only.
– Final Inspection and Test only.
– Quality Management and Quality System Elements - Guidelines
– Guidelines for the Application of ISO 9001 to the development, supply and maintenance of software.
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 17
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
ISO 9000 Requirements
0.0 Introduction1.0 Scope2.0 References3.0 Definitions4.0 Quality System Requirements4.1 Management Responsibility4.2 Quality System4.3 Contract Management4.4 Design Control4.5 Document Control4.6 Purchasing4.7 Purchaser Supplied Product4.8 Product Identification &
Traceability4.9 Process Control4.10 Inspection and Testing
4.11 Inspection, Measuring and Test Equipment
4.12 Inspection and Test Status4.13 Control of Nonconforming Product4.14 Corrective Action4.15 Handling, Storage, Packaging and
Delivery4.16 Quality Records4.17 Internal Quality Audits4.18 Training4.19 Servicing4.20 Statistical Techniques
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 18
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
ISO 9000 Registration
ISO9001 Registration: Registration is by specific site and a specific “scope of work.” Provides for a consistent repeatable process. Could be registered and still have poor products - concrete life jackets. Requires an audit by a third party like UL.
Why Register for ISO 9001? Reasons for a company to pursue Registration: The European Community has embraced ISO 9000. Many other governments are requiring ISO 9000 registration of their
suppliers. Many large global customers are beginning to require ISO 9000
registration of their suppliers. Adherence to ISO 9000 can improve quality. ISO 9000 can provide a foundation for a quality improvement program.
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 19
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
ISO 9000 Registration Process:
1. Make decision to register.
2. Train staff and evaluate quality systems.
3. Develop a compliance plan.
4. Implement compliance plan.
5. Document quality system.
6. File Quality Manual with Agency.
7. Agency Audit.
8. Correct discrepancies.
9. Registration Certificate.
10. Must be renewed each year.
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 20
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
ISO 9000-3 Guidelines for Software Development
ISO 9001 (1987) is a requirements document Was written in hardware terms Software means TV Media, Publications and Computer programs in general.
ISO 9000-3 (1993) is a set of guideline (not a requirement) to help interpret 9001 for computer software development.
A company would still register for ISO 9001 Custom software development between two parties Entire life-cycle model (irrespective of life-cycle) Quality Plan Development Plan Verification - The process of evaluating the products of a given phase to
ensure correctness and consistency with respect to the process standards for that phase
Validation - the process of evaluating software to ensure compliance with specified requirements
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 21
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
ISO 9000, the SEI CMM and Other Quality Standards
No Quality System
ISO 9001*
SEI’sCMM 3
MalcolmBaldridge
Award
DemingPrize
ContinuouslyImproving Quality System
* ISO 9001 for software development using ISO 9000-3
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 22
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
The SEI CMM and ISO 9000
DOD funds SEI but also looking at ISO 9000. An SEI level 3 should allow an organization to be registered for ISO
9001. SEI tells you where you are at and how to get to the next level. ISO 9000 more focused on verifying your quality process. Both standards are driving companies to improve the level of their
software development processes. Prediction: ISO 9000 will spread rapidly and in 3-5 years will be a
significant distinguishing factor among companies. Will start with big and medium companies and will spread to the
smaller ones.
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 23
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
Full Life Cycle Software Engineering Processes
Needs Analysis Design Build Operate
Project Planning
Project Tracking & Oversight
Subcontractor Management
Quality Assurance
Configuration Management & Documentation Standards
Performance Measurement
• Systems Management
• Call Management• Tech. Support &
Maintenance
• Requirements Management• Software Product
Engineering
• Software Product Engineering
• Software Product Engineering
• Project Evaluation & Prioritization (Work Request)
Technology OrganizationTechnology Organization Technology StrategyTechnology Strategy
Organization Process Function
IT Value Chain
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 24
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
Other Software Engineering Processes
SE Processes Reviewed in Class: Rational Unified Process Extreme Programming Capability Maturity Model ISO 9001
Other SE Processes: Crystal SCRUM DSDM Adaptive Software Development Feature-Driven Development Pragmatic Programming
Project Management
Iter#1Analysis
Design
Implement
Iter#2Analysis
Design
Implement
Iter#3Analysis
Design
Implement
Iter#NAnalysis
Design
Implement
Iter#4Analysis
Design
Implement
. . .
Start-up
Bob Martin’s Framework:
High Level Analysis & Architecture
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 25
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
Extra Slides on Rayleigh Manpower Curve
Norden developed a theory of project problem solving processes. He viewed a project as a set of unsolved problems. A decision converts an unsolved problem into a solved problem. Initially the number of unsolved problems grows as the project team
uncovers additional problems. New problems call for more problem solvers and the project grows.
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 26
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
Extra Slides on Rayleigh Manpower Curve
0
5
10
15
20
25
30
0 10 20 30 40 50 60 70 80
Elapsed Time (Months)
Man
po
wer
(P
eop
le)
Effort (MM)
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 27
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
0
5
10
15
20
25
30
0 10 20 30 40 50 60 70 80
Elapsed Time (Months)
Perc
en
t o
f T
ota
l E
ffo
rt
Extra Slides on Rayleigh Manpower Curve
Effort (MM)
Where: y’ = 2Kate-at2 Which can be rearranged: y’ = (K/td2)te(-t2/2td2)
K = 1.0 K = E/.39 a = 0.02 td = (1/2a)1/2
td
y’
Copyright 2001 - Larry Dribin, Ph.D. SE470_OtherSEProc_v1.pp SE470 Other SE Processes - 28
Excellence in Software Engineering
Repeatable Level
Defined Level
Managed Level
Initial Level
Optimized Level
Extra Slides on Rayleigh Manpower Curve
The key group (problem solvers) determines the pace at which problems are solved and further problems identified and appears to drive the manpower loading curve.
The group can add people only when it has sorted out tasks to assign to new people.
The number of people involved is proportional to the number of problems ready for a solution at a given time.
After a time the number of new problems discovered begins to decline and the manpower needed begins to fall.