process management adapted from chapter 3, futrellapidduck/se362/lectures/4procmgmt.pdf · process...

36
Process Management Adapted from Chapter 3, Futrell

Upload: trinhhanh

Post on 10-May-2018

230 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

Process Management

Adapted fromChapter 3, Futrell

Page 2: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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

Page 3: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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

Page 4: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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

Page 5: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

16 BEST PRACTICES

Management and Technical Practiceswith High ROI in the Developmentand Sustainment of Large-Scale

Software-Intensive Systems

http:\\www.spmn.com

Page 6: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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

Page 7: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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

Page 8: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

Process Management - Begins at the Front End

Plan

Do

Act

Check

Shrewhart/Deming Cycle

Requirements

Design

Implementation

Test

Installation andCheckout

Operation andMaintenance

Page 9: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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.

Page 10: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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

Page 11: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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.

Page 12: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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

Page 13: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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

Page 14: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

Process Management Process

Plan

Do

Act

Check

Check theeffects of

implementation

Takeappropriate

action

Determinegoals andtargets

Determinemethods of

reaching goals

Engage ineducation and

training

Implementwork

Page 15: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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.

Page 16: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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

Page 17: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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.

Page 18: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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

Page 19: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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

Page 20: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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

Page 21: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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

Page 22: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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

Page 23: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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

Page 24: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

How to use 1074

�Step 1. Select the SLCM

and Test

Do Until Done

OutputsInputsRequirements

Design

Implementation

Test

Installation andCheckout

Operation andMaintenance

Page 25: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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

Page 26: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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

Page 27: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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

Page 28: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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

Page 29: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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?

Page 30: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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

Page 31: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

Customized Development Process(2)

Page 32: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning
Page 33: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning
Page 34: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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

Page 35: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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

Page 36: Process Management Adapted from Chapter 3, Futrellapidduck/se362/Lectures/4procmgmt.pdf · Process Management Adapted from Chapter 3, ... Analyze Risks 2. Perform Contingency Planning

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