1 process: a generic view. 2 a layered technology software engineering a “quality” focus process...

20
1 Process: A Generic Process: A Generic View View

Upload: cordelia-lang

Post on 25-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Process: A Generic View. 2 A Layered Technology Software Engineering a “quality” focus process model methods tools

1

Process: A Generic Process: A Generic ViewView

Page 2: 1 Process: A Generic View. 2 A Layered Technology Software Engineering a “quality” focus process model methods tools

2

A Layered A Layered TechnologyTechnology

Software Engineering

a “quality” focusa “quality” focus

process modelprocess model

methodsmethods

toolstools

Page 3: 1 Process: A Generic View. 2 A Layered Technology Software Engineering a “quality” focus process model methods tools

3

A Process A Process FrameworkFramework

Process frameworkProcess frameworkFramework activitiesFramework activities

work taskswork taskswork productswork productsmilestones & deliverablesmilestones & deliverablesQA checkpointsQA checkpoints

Umbrella ActivitiesUmbrella Activities

Page 4: 1 Process: A Generic View. 2 A Layered Technology Software Engineering a “quality” focus process model methods tools

4

Framework ActivitiesFramework Activities

CommunicationCommunication PlanningPlanning ModelingModeling

Analysis of requirementsAnalysis of requirements DesignDesign

ConstructionConstruction Code generationCode generation TestingTesting

DeploymentDeployment

Page 5: 1 Process: A Generic View. 2 A Layered Technology Software Engineering a “quality” focus process model methods tools

5

Framework ActivitiesFramework Activities Communication: customer collaboration and requirement

gathering

Planning: establishes engineering work plan, describes technical risks, lists resource requirements, work products produced, and defines work schedule

ModelingModeling: creation of models to help developers and : creation of models to help developers and customers understand the requires and software design)customers understand the requires and software design)

ConstructionConstruction: c: code generationode generation and t and testingesting

DeploymentDeployment: software delivered for customer evaluation : software delivered for customer evaluation and feedbackand feedback

Page 6: 1 Process: A Generic View. 2 A Layered Technology Software Engineering a “quality” focus process model methods tools

6

Umbrella ActivitiesUmbrella Activities Software project managementSoftware project management Formal technical reviewsFormal technical reviews Software quality assuranceSoftware quality assurance Software configuration managementSoftware configuration management Work product preparation and Work product preparation and

productionproduction Reusability managementReusability management MeasurementMeasurement Risk managementRisk management

Page 7: 1 Process: A Generic View. 2 A Layered Technology Software Engineering a “quality” focus process model methods tools

7

The Process Model:The Process Model:AdaptabilityAdaptability

the framework activities will the framework activities will alwaysalways be be applied on applied on everyevery project ... BUT project ... BUT

the tasks (and degree of rigor) for each the tasks (and degree of rigor) for each activity will vary based on:activity will vary based on: the type of project the type of project characteristics of the projectcharacteristics of the project common sense judgment; concurrence of the common sense judgment; concurrence of the

project teamproject team

Page 8: 1 Process: A Generic View. 2 A Layered Technology Software Engineering a “quality” focus process model methods tools

8

The CMMIThe CMMICapability Maturity Model Capability Maturity Model

IntegrationIntegration

The CMMI defines each process area in terms of The CMMI defines each process area in terms of “specific goals” and the “specific practices” “specific goals” and the “specific practices” required to achieve these goals.required to achieve these goals.

Specific goalsSpecific goals establish the characteristics that establish the characteristics that must exist if the activities implied by a process must exist if the activities implied by a process area are to be effective. area are to be effective.

Specific practicesSpecific practices refine a goal into a set of refine a goal into a set of process-related activities.process-related activities.

Page 9: 1 Process: A Generic View. 2 A Layered Technology Software Engineering a “quality” focus process model methods tools

9

CMMI

Level 0 - incomplete, process area not performed

Level 1: – performed, all work tasks are being conducted

Level 2: – managed, stakeholders are actively involved, work tasks and products are monitored, reviewed, and evaluated

Page 10: 1 Process: A Generic View. 2 A Layered Technology Software Engineering a “quality” focus process model methods tools

10

CMMI

Level 3: – defined, management and engineering processes documented, standardized, and integrated into software process

Level 4: – quantitatively managed, emphasis on measurements and use this data to manage the process

Level 5: Optimizing – improvement is enabled by quantitative feedback from the process

Page 11: 1 Process: A Generic View. 2 A Layered Technology Software Engineering a “quality” focus process model methods tools

11

Process PatternsProcess Patterns Process patterns define a set of activities, Process patterns define a set of activities,

actions, work tasks, work products and/or related actions, work tasks, work products and/or related behaviorsbehaviors

A template is used to define a patternA template is used to define a pattern Typical examples:Typical examples:

Customer communication (a process activity)Customer communication (a process activity) Analysis (an action)Analysis (an action) Requirements gathering (a process task)Requirements gathering (a process task) Reviewing a work product (a process task)Reviewing a work product (a process task) Design model (a work product)Design model (a work product)

Page 12: 1 Process: A Generic View. 2 A Layered Technology Software Engineering a “quality” focus process model methods tools

12

Process AssessmentProcess Assessment

The process should be assessed to ensure that it The process should be assessed to ensure that it meets a set of basic process criteria that have meets a set of basic process criteria that have been shown to be essential for a successful been shown to be essential for a successful software engineeringsoftware engineering.

Many different assessment options are available: Many different assessment options are available: SCAMPISCAMPI CBA IPICBA IPI SPICESPICE ISO 9001:2000ISO 9001:2000

Page 13: 1 Process: A Generic View. 2 A Layered Technology Software Engineering a “quality” focus process model methods tools

13

Process AssessmentProcess AssessmentISO/IE15504ISO/IE15504

SPICE (ISO/IE15504) standard defines a set of SPICE (ISO/IE15504) standard defines a set of requirements for process assessmentrequirements for process assessment..

SPICE model assessment is a structured evaluation of SPICE model assessment is a structured evaluation of a process model (activities, tasks, work products, etc.)a process model (activities, tasks, work products, etc.)

Provides a reference model that examines the purpose Provides a reference model that examines the purpose and measurable objectives of the process (process and measurable objectives of the process (process dimension) and the set of process attributes that dimension) and the set of process attributes that should be present (capability dimension)should be present (capability dimension)

Page 14: 1 Process: A Generic View. 2 A Layered Technology Software Engineering a “quality” focus process model methods tools

14

Process AssessmentProcess AssessmentISO 9001:2000ISO 9001:2000

ISO 9001:2000 for Software defines requirements for a quality management system that will produce higher quality products and improve customer satisfaction

Stresses the importance for an organization to identify, implement, manage, and continually improve the effectiveness processes needed for a quality management system and to manage process interactions to achieve organization objectives

Page 15: 1 Process: A Generic View. 2 A Layered Technology Software Engineering a “quality” focus process model methods tools

15

Assessment and ImprovementAssessment and Improvement

Software Process

Software Process Assessment

is examined by identifies capabilitiesand risk of

identifiesmodifications to

Software Process Improvement

Capability Determination

leads to leads to

motivates

Page 16: 1 Process: A Generic View. 2 A Layered Technology Software Engineering a “quality” focus process model methods tools

16

Personal Software Process Personal Software Process (PSP)(PSP)

Recommends five framework activities:Recommends five framework activities: PlanningPlanning High-level designHigh-level design High-level design reviewHigh-level design review DevelopmentDevelopment PostmortemPostmortem

stresses the need for each software engineer stresses the need for each software engineer to identify errors early and as important, to to identify errors early and as important, to understand the types of errorsunderstand the types of errors

Page 17: 1 Process: A Generic View. 2 A Layered Technology Software Engineering a “quality” focus process model methods tools

17

Personal Software ProcessPersonal Software ProcessPlanning: size and resource estimates based on requirements

High-level design: external specifications developed for components

High-level design review: formal verification methods used to uncover design errors,

Development: component level design refined, code is generated, reviewed, compiled, and tested

Postmortem: determine effectiveness of processes using collected measures and metrics, modify the process to improve its effectiveness

Page 18: 1 Process: A Generic View. 2 A Layered Technology Software Engineering a “quality” focus process model methods tools

18

Team Software Process (TSP)Team Software Process (TSP)

Each project is “launched” using a “script” Each project is “launched” using a “script” that defines the tasks to be accomplishedthat defines the tasks to be accomplished

Teams are self-directedTeams are self-directed Measurement is encouragedMeasurement is encouraged Measures are analyzed with the intent of Measures are analyzed with the intent of

improving the team processimproving the team process

Page 19: 1 Process: A Generic View. 2 A Layered Technology Software Engineering a “quality” focus process model methods tools

19

Team Software Process (TSP)Team Software Process (TSP)

Scripts for Project Activities:

• Project launch

• Design

• Implementation

• Integration and system testing

• Postmortem

Page 20: 1 Process: A Generic View. 2 A Layered Technology Software Engineering a “quality” focus process model methods tools

20

The Primary Goal of Any Software The Primary Goal of Any Software Process: Process: High QualityHigh Quality

Remember:Remember:

High quality = project timelinessHigh quality = project timeliness

Why?Why?

Less rework!Less rework!