process management adapted from chapter 3, futrellapidduck/se362/lectures/4procmgmt.pdf · process...
TRANSCRIPT
Process Management
Adapted fromChapter 3, Futrell
Presentation Outline
� Introduction to Process Management� Implementing IEEE 1074
� IEEE 1074 Framework� Implement with Your Life Cycle
� Defining Your Project Life Cycles withIEEE 1074
� Presenting your Project’s Life Cycle
Objectives
� Understand the basics of processmanagement and how it fits into thefront end of the life cycle
� Understand how to apply IEEE 1074
and 1074.1� Apply 1074 and 1074.1 to evolve
your project’s life cycle
Presentation Outline
�Introduction to Process ManagementImplementing IEEE 1074
� IEEE 1074 Framework� Implement with Your Life Cycle
� Refining Project Life Cycles with IEEE 1074� Presenting your Project’s Life Cycle
16 BEST PRACTICES
Management and Technical Practiceswith High ROI in the Developmentand Sustainment of Large-Scale
Software-Intensive Systems
http:\\www.spmn.com
SPMN SOFTWARE COUNCIL
� Victor Basili� Grady Booch� Norm Brown� Peter Chen� Christine Davis� Tom DeMarco� Mike Dyer� Mike Evans� Derek Hatley� Bill Hetzel
� Capers Jones� Tim Lister� John Manzo� Lou Mazzucchelli� Tom McCabe� Frank McGrath� Roger Pressman� Larry Putnam� Howard Rubin� Ed Yourdon
1. Formal Risk Management2. Empirical Cost and Schedule
Estimation3. Metrics-based Project
Management4. Earned Value Tracking5. Defect Tracking Against
Quality Targets6. People-aware Program
Management7. Configuration Management8. End-To-End Requirements
Tracing
SPMN 16 Best Practices
9. System-Architecture-BasedSoftware Design10. Data and DatabaseInteroperability11. Formal Definition and Controlof Interfaces12. Visible and InspectableDesign13. Cost-Justified and Quality-Justified Reuse14. Formal Inspections15. Managing Tests As Assets16. Frequent Compile andSmoke Testing
Process Management - Begins at the Front End
Plan
Do
Act
Check
Shrewhart/Deming Cycle
Requirements
Design
Implementation
Test
Installation andCheckout
Operation andMaintenance
Process Management Defined
� Process Management is the discipline of defining,implementing and maintaining the work processes withinan organization.
� The goal of Process Management is to create anenvironment for improving quality and productivity.
� A foundation of a successful Process Management systemis a defined framework that fits the organization'sobjective and culture.
� Building a Process Management system is a progressiveiterative task that requires a strategic commitment of theorganization.
Why is Process Important?� Fundamental process management
premise:
� “The quality of a product (e.g., asoftware system) is governed by thequality of the process used to produce it.”
Major determinants of software cost, schedule, and quality performance
PEOPLE
PROCESS TECHNOLOGY
Why is Quality Important?If 99.9% Were “Good Enough”� 16,000 pieces of mail would be lost each hour.
� We would experience 1 hour of unsafe drinking water eachmonth.
� 20,000 incorrect drug prescriptions would be filled eachyear.
� 22,000 checks would be deducted from the wrong bankaccounts each hour.
� 50 newborn babies would be dropped at birth by theirdoctors every day.
� 500 incorrect surgical operations would be performed eachweek.
What is a Process?
� process n. a bounded set of interrelated activities thattakes one or more kinds of inputs and creates outputsthat are of value to the customer by means of one ormore transformations
Adapted from Quality Process Management, by Gabriel Pall, 1987
Information+ materials+ energy
Specifiedresult
Value of input Value of output
is greater than
What is Process Management?
� A managementparadigm forincreasing qualitythrough� process measurement� formal process
definition� feedback and control� improvement� optimization
Define Define
Use Use
Measure Measure
Evaluate Evaluate
Continuous Process Improvement
Process Management Process
Plan
Do
Act
Check
Check theeffects of
implementation
Takeappropriate
action
Determinegoals andtargets
Determinemethods of
reaching goals
Engage ineducation and
training
Implementwork
Capability Versus Performance
Process capability – the range of expected resultsthat can be achieved by following a process. Apredictor of future project outcomes.
Process performance – a measure of the actualresults achieved from following a process. Refersto a particular project in the organization.
Evolution of Process Capability
Plans based on past performance are more realistic in Level 2 organizations
With well-defined processes, performance improves in Level 3 organizations
Based on quantitative understanding of process and product, performance continues to improve in Level 4 organizations
Performance continuously improves in Level 5 organizations
Initial
Repeatable
Defined
Managed
Optimizing
Process is informal and ad hoc; performance is unpredictable
Project management system in place; performance is repeatable
Software engineering and management processes defined and integrated
Product and process are quantitatively controlled
Process improvement is institutionalized
Level Process Characteristics Predicted Performance
Prob
abili
ty
Time/$/...
Targ
et N
Prob
abili
ty
Time/$/...
Targ
et N
+a
Prob
abili
ty
Time/$/...
Targ
et N
-y
Prob
abili
ty
Time/$/...
Targ
et N
-z
Prob
abili
ty
Time/$/...
Targ
et N
-x
Summary
� Process management is a managementparadigm for achieving business goals bycontinuously improving process and productquality.
� Process management principles provide afoundation for the design of processes that arecapable of continuous improvement to processand product.
� A management system oriented to processmanagement is a prerequisite to successfuldeployment.
Presentation Outline
� Introduction to Process Management�Implementing IEEE 1074
� IEEE 1074 Framework� Implement with Your Life Cycle
� Defining Your Project Life Cycles withIEEE 1074
� Presenting your Project’s Life Cycle
What is 1074 ?
� 6 Process Categories� Software Life Cycle Model Process� Project Management Processes� Pre-Development Processes� Development Processes� Post-Development Processes� Integral Processes
� 17 Processes in the categories� 65 Activities in the processes
PM
Pre-Dev
Dev
Post-Dev
Integral
Processes
Activity
Activity
Activity
Activity
ActivityActivity
Activity
Activity
Activity
Spiral-OOPhases
Initiation
Def & Design
Concept
Development
Install & Oper
Activity
Activity
Activity
Activity
Activity
Spiral-OOPhases
Initiation
Def & Design
Concept
Development
Install & Oper
Activity
Where does 1074 fit?
PMP
Pre-Dev
Devel
Post-dev
Integral
Processes
OrgSLCM
Activity
Activity
Activity
Activity
ActivityActivity
Activity
Activity
Activity
WaterfallPhases
Initiation
Def & Design
Concept
Development
Install & Oper
Activity
Project’sSLC’s
Activity
Activity
Activity
ModifiedActivity
Project XPhases
Initiation
Def & Design
Concept
Development
Install & Oper
AdditionalActivity
Project’sSDP
SoftwareDevelopment
Plan
CMM
What 1074 is NOT
� Not a prescriptive, specific software lifecycle model (SLCM)
� Does not exist without your organizationssoftware life cycle (SLC)
� Does not presume to use any specificsoftware development methodology
� Is not self limiting - add more stringentrequirements at your desire
1074 MapCategory Process Activity
I. Software life Cycle Model Process A. Software Life Cycle Model 1. Identify Candidate SLC Models2. Select Project Model
II. Project Management Processes A. Project Initiation 1. Map Activities to SLC Model2. Allocate Project Information3. Establish Project Environment4. Plan Project Management
B. Project Monitoring and Control 1. Analyze Risks2. Perform Contingency Planning3. Manage the Project4. Retain Records5. Implement Problem Reporting Method
C. Software Quality Management 1. Plan Software Quality Management2. Define Metrics3. Manage Software Quality4. Identify Quality Improvement Needs
III. Pre-Development Processes A. Concept Exploration 1. Identify Ideas or Needs2. Formulate Potential Approaches3. Conduct Feasibility Studies4. Plan System Transition5. Refine and Finalize the Idea or Need
B. System Allocation 1. Analyze Functions2. Develop System Architecture3. Decompose System Requirements
IV. Development Processes A. Requirements 1. Define and Develop Software Requirements2. Define Interface Requirements3. Prioritize and Integrate Software Requirements
B. Design 1. Perform Architecture Design2. Design Data Base3. Design Interfaces4. Select or Develop Algorithms5. Perform Detailed Design
C. Implementation 1. Create Test Data2. Create Source3. Generate Object Code4. Create Operating Documentation5. Plan Integration6. Perform Integration
V. Post-Development Processes A. Installation 1. Plan Installation2. Distribute Software3. Install Software4. Accept Software in Operational Environment
B. Operation and Support 1. Operate the System2. Provide Technical Assistance and Consulting3. Maintain Support Request Log
C. Maintenance 1. Reapply Software Life CycleD. Retirement 1. Notify User
2. Conduct Parallel Operations3. Retire System
VI. Integral Processes A. Verification and Validation 1. Plan V&V2. Execute V&V Tasks3. Collect and Analyze Metric Data4. Plan Testing5. Develop Test Requirements6. Execute the Tests
B. Software Configuration Management 1. Plan Configuration Management
How to use 1074
�1074.1 is a step by step guide toimplementation
1. Select the SLCM2. Compare activities to SLCM requirements3. Placing the activities in time sequence4. Checking information flow5. Assigning information to documents6. Add actual dates and times7. Reconcile the constraints8. Maintain the schedule and the SLC
How to use 1074
�Step 1. Select the SLCM
and Test
Do Until Done
OutputsInputsRequirements
Design
Implementation
Test
Installation andCheckout
Operation andMaintenance
1074 Activities Life Cycle PhasesCategory Process Activity Require Design Code Test Implrm
I. Software life CycleModel Process
A. Software Life CycleModel
1. Identify Candidate SLC Models
2. Select Project ModelII. Project ManagementProcesses
A. Project Initiation 1. Map Activities to SLC Model
2. Allocate Project Information3. Establish Project Environment4. Plan Project Management
B. Project Monitoring andControl
1. Analyze Risks
2. Perform Contingency Planning3. Manage the Project4. Retain Records5. Implement Problem ReportingMethod
C. Software QualityManagement
1. Plan Software QualityManagement2. Define Metrics3. Manage Software Quality4. Identify Quality ImprovementNeeds
How to use 1074
� Step 2. Compare activities to SLCM requirements
Requirements
Design
Implementation
TestInstallation and
CheckoutOperation andMaintenance
How to use 1074� Step 3. Placing the activities in time sequence
Category Process ActivityRequirements Design Code Test
Implement
I. Software life Cycle Model Process
A. Software Life Cycle Model 1. Identify Candidate SLC Models 1-Jan
II. Project Management Processes
B. Project Monitoring and Control 1. Analyze Risks 15-Jan
II. Project Management Processes
B. Project Monitoring and Control 2. Perform Contingency Planning 21-Jan
I. Software life Cycle Model Process
A. Software Life Cycle Model 2. Select Project Model 1-Feb
II. Project Management Processes
C. Software Quality Management
1. Plan Software Quality Management 1-Mar
II. Project Management Processes
C. Software Quality Management 2. Define Metrics 15-Mar
II. Project Management Processes A. Project Initiation 4. Plan Project Management 15-AprII. Project Management Processes A. Project Initiation 3. Establish Project Environment 30-AprII. Project Management Processes
B. Project Monitoring and Control
5. Implement Problem Reporting Method 30-Apr
II. Project Management Processes A. Project Initiation 1. Map Activities to SLC Model 1-MayII. Project Management Processes A. Project Initiation 2. Allocate Project Information 1-JunII. Project Management Processes
C. Software Quality Management
4. Identify Quality Improvement Needs 15-Jul
II. Project Management Processes
B. Project Monitoring and Control 3. Manage the Project
II. Project Management Processes
B. Project Monitoring and Control 4. Retain Records
II. Project Management Processes
C. Software Quality Management 3. Manage Software Quality
Life Cycle Phases
How to use 1074
�Step 4. Checking information flow
ProjectEnvironment
EstablishProject
EnvironmentII.A.3
MethodologiesStandards
ToolsSoftware Library
Purchased SoftwareContract Requirements
Analysis of RisksSoftware Life Cycle
Defined MetricsCollection and Analysis Methods
Resource AllocationsStatement of Need
IEEE 1074, page 15
How to use 1074
�Step 5. Assigning information todocuments� The ultimate deliverable end point
�Step 6. Add actual dates and times
�Step 7. Reconcile the constraints
�Step 8. Maintain the schedule and the
SLC
Does 1074 Work?
�This is one of the most valuabletools you can learn!
�Choosing your own life cycle iscritical to cycle time reduction andcontinuous process improvement.
�Is it really used?
Customized Development Process(1)Process Steps Process Gates Prototypes
Project AcceptanceReview
HL DesignReview
RequirementsReview
Detail DesignReview
ConstructionReview
DeliveryReview
V&V Review
PrototypeVersion 1
PrototypeVersion 3
PrototypeVersion 2
Project Management Support ProcessesRisk
ReductionPlanning Estimating Metrics Training CM Quality
High LevelDesign
Detail Design
SystemConstruction
System V&V
System Delivery
RequirementsDefinition
Customized Development Process(2)
NeedsAssessment
Plan
ProjectPlans
Specifications
Databases
ROIAnalysis
RiskAnalysis
Adapt
Improve
Observe
Analyze
ManagementPlan
Risk
Reduction
Planning
Estim
ating
Training
Configuration
Management
Quality
Research
Customized Process Management Process
Presentation Outline
� Introduction to Process Management� Implementing IEEE 1074
� IEEE 1074 Framework� Implement with Your Life Cycle
�Defining Your Project Life Cycles withIEEE 1074
� Presenting your Project’s Life Cycle
Process Eliminates the Fuzzy Front End
NeedsAssessment
Plan
ProjectPlans
Specifications
Databases
ROIAnalysis
RiskAnalysis
Adapt
Improve
Observe
Analyze
ManagementPlan
Risk
Reduction
Planning
Training
Configuration
Management
Quality
Research
Estim
ating
CandidateArchitectureIdentification
Market andSystem
Requirements
ConceptDefinition