44
1 Chapter 5 Chapter 5 Life-Cycle Phases Life-Cycle Phases From From Software Project Management Software Project Management By By Walker Royce (of IBM) Walker Royce (of IBM) And Slides on Spiral by Barry Boehm And Slides on Spiral by Barry Boehm

1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

Embed Size (px)

Citation preview

Page 1: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

11

Chapter 5Chapter 5

Life-Cycle PhasesLife-Cycle PhasesFromFrom

Software Project Management Software Project Management ByBy

Walker Royce (of IBM)Walker Royce (of IBM)And Slides on Spiral by Barry BoehmAnd Slides on Spiral by Barry Boehm

Page 2: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

22

……a very short but VERY important a very short but VERY important chapter…chapter…

Page 3: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

33

IntroductionIntroduction

On one hand, On one hand, Do we spend far Do we spend far too much timetoo much time on analyses and paper on analyses and paper

studies?studies? Do we delay actually doing the builds: the development Do we delay actually doing the builds: the development

baselines?baselines? Very easy to do… Some feel in general that this is true…Very easy to do… Some feel in general that this is true…

On the other hand,On the other hand, Do we Do we jump into designs and codingjump into designs and coding, and hack the heck , and hack the heck

out of an application in attempts to get it to work?out of an application in attempts to get it to work? Lots of people think we do this too….Lots of people think we do this too….

Class discuss: Class discuss: What do you do?What do you do? What do you think corporations think they do?What do you think corporations think they do?

Page 4: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

44

Introductory Statement:Introductory Statement:

Walker Royce feels that we need Walker Royce feels that we need BALANCE BALANCE between research and development (R&D) and between research and development (R&D) and production activitiesproduction activities

Need some kind of balance Need some kind of balance betweenbetween:: Concentrating on Concentrating on capturing and modelingcapturing and modeling functionalityfunctionality

andand BuildingBuilding a robust a robust productproduct that that hashas the performance, the performance,

reliability, and scalability customers desire….reliability, and scalability customers desire….

We are after a development life-cycle BALANCE…We are after a development life-cycle BALANCE…

Page 5: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

55

Finer GranularityFiner Granularity

Further, we need a Further, we need a processprocess that supports this that supports this balance.balance.

Need this stated more precisely: Need this stated more precisely: Need a process to help balance: Need a process to help balance:

Planning, capturing, and modeling Planning, capturing, and modeling requirementsrequirements and and establishing a establishing a baseline architecturebaseline architecture, ,

withwith Continuous assessment, measuring Continuous assessment, measuring riskrisk, and , and

testingtesting to ensure progress and quality to ensure progress and quality with with

Evolution and Evolution and verificationverification of the application’s of the application’s functionality through series of functionality through series of customer customer demonstrations and ultimate validationdemonstrations and ultimate validation. .

Page 6: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

66

Engineering and Production StagesEngineering and Production Stages

Royce claims to achieve the ROI for software Royce claims to achieve the ROI for software development, we need to use a ‘development, we need to use a ‘manufacturingmanufacturing processprocess’ that is ’ that is characterizedcharacterized by the by the

highest utilization of automated development tools and highest utilization of automated development tools and

use of component-based approaches to development.use of component-based approaches to development.

He likens a desirable software process to a He likens a desirable software process to a manufacturing process: manufacturing process:

Page 7: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

77

Engineering and Production StagesEngineering and Production Stages

He breaks all activities down into He breaks all activities down into Engineering and ProductionEngineering and Production

Engineering workEngineering work: This centers on risk : This centers on risk reduction, prototyping, establishing architectural reduction, prototyping, establishing architectural baseline, assessment, analysis, design, and baseline, assessment, analysis, design, and planning… planning… Implies a smaller team up front.Implies a smaller team up front.

Production workProduction work: programming and unit test, : programming and unit test, system and integration testing, demonstrations, system and integration testing, demonstrations, assessment, base-lining (alpha, beta, …) assessment, base-lining (alpha, beta, …) configuration, and releases; operationsconfiguration, and releases; operations Note that production includes operations…Note that production includes operations…

Page 8: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

88

Two Stages: Far Too AbstractTwo Stages: Far Too Abstract BUT, he argues a life cycle of two stages is BUT, he argues a life cycle of two stages is far too abstractfar too abstract to track the many to track the many

detailed activities – all with actors, activities, and artifacts….detailed activities – all with actors, activities, and artifacts…. So, he maps RUP Phases into these more comprehensive phases.So, he maps RUP Phases into these more comprehensive phases.

Enter: Engineering Phase = Inception and ElaborationEnter: Engineering Phase = Inception and Elaboration Enter: Production Phase = Construction and TransitionEnter: Production Phase = Construction and Transition

To wit:To wit:

Engineering, i.e., Inception and Elaboration, focuses on the concept (idea) Engineering, i.e., Inception and Elaboration, focuses on the concept (idea) of the application and its architectural components (analysis and of the application and its architectural components (analysis and preliminary design – perhaps a wee bit of detailed design)preliminary design – perhaps a wee bit of detailed design) Artifacts are established and base-lined; (Configurations…)Artifacts are established and base-lined; (Configurations…)

Production, i.e., Construction and Transition, focuses on programming, Production, i.e., Construction and Transition, focuses on programming, testing, releases and converting / establishing operational capabilitiestesting, releases and converting / establishing operational capabilities Implies that artifacts from earlier stage (engineering) more difficult to Implies that artifacts from earlier stage (engineering) more difficult to

change as activities more ‘downstream activities’ occur change as activities more ‘downstream activities’ occur

Page 9: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

99

Royce Claims that:Royce Claims that:

These phases can be mapped into the famous These phases can be mapped into the famous Spiral ModelSpiral Model for Software Development for Software Development

developed by (Barry Boehm) (shall see ahead)developed by (Barry Boehm) (shall see ahead) Now have:Now have:

Conventional Software Development Model (as Conventional Software Development Model (as represented by the Waterfall Model and its represented by the Waterfall Model and its manymany variants;variants;

OOSE approach (as represented by the RUP);OOSE approach (as represented by the RUP); Spiral Model…Spiral Model…Let’s discuss this important modelLet’s discuss this important model……

Page 10: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

1010

Spiral Model - OverviewSpiral Model - Overview Spiral Model is another incremental model.Spiral Model is another incremental model. EmbracesEmbraces (well known for these:) (well known for these:)

prototyping, prototyping, iterative software development, anditerative software development, and riskrisk assessment. assessment.

Model is graphed like a Model is graphed like a spiralspiral.. Development can be halted at the end of any Development can be halted at the end of any

cycle…depending cycle…depending on evaluation of previous on evaluation of previous ‘cycle.’‘cycle.’ IS ROI still looking good?IS ROI still looking good? Are Are expendedexpended costs in line with costs in line with anticipatedanticipated costs – costs –

so far?so far? Have risks been mitigatedHave risks been mitigated?? Functionality delivered evolving properly via high Functionality delivered evolving properly via high

priority requirements? And much more…..priority requirements? And much more…..

Page 11: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

1111

Spiral ModelSpiral Model

Very much a Risks-Driven ApproachVery much a Risks-Driven Approach Different idea of software development. How does this project affect the developers

and the clients? How does each step in the project affect

its overall development? Not used in previous development models.

They were usually code-driven or document-driven.

Page 12: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

1212

Previous Software Process ModelsPrevious Software Process Models An evolution of models

–Code & Fix–Stagewise & Waterfall–Evolutionary Development–Others…

Code & Fix• First, elementary model• Write code now; fix it later• No planning involved• Problems:

– Code is poorly structured.– The software developed was usually a poor match for

users’ needs.

Page 13: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

1313

Stagewise & Waterfall Stagewise & Waterfall

Born out of the shortsightedness of the Code & Fix model.

- need for a design phase, requirements phase,

and a testing phase.

First used to develop SAGE (Semi-Automated Ground Environment), an early warning system for the Cold War era.

Page 14: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

1414

StagewiseStagewise

A development process of successive phases.

– Phases included operational plan, operational

specs, coding specs, coding, parameter

testing, assembly testing, shakedown, system

evaluation. Underwent two refinements in 1970. Now referred to as the Waterfall Model.

Page 15: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

1515

Waterfall ModelWaterfall ModelIntroduced:

– Feedback loops across multiple stages: Validation and verification steps.– Prototyping via a “build it twice” step alongside of

requirements and design.

• Difficulties exposed even as revisions were made to the model.

– Required elaborated documents. (Document-driven; lengthy development cycles, etc.– Led to pursuing stages of development in the

wrong order

Page 16: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

1616

Page 17: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

1717

Evolutionary DevelopmentEvolutionary Development

Evolution of the system in directions based on experience.

Provides rapid initial operational capability.“I can’t tell you what I want, but I’ll know it when I see it.”Flexible, yet uncertain approach.

Evolutionary Development Problems:No formal design phase (same problem as Code & Fix).One bad assumption – the unplanned paths “will” be

compatible.Hard-to-change code resulted.Many problems when new software was incrementally

replacing old software

Page 18: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

1818

Page 19: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

1919

Page 20: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

2020

Spiral Model - OverviewSpiral Model - Overview In the Spiral Model, In the Spiral Model, prototyping, evaluation, planning, and all engineering prototyping, evaluation, planning, and all engineering

and production activitiesand production activities are executed in are executed in different quadrantsdifferent quadrants. (Different . (Different variations of the model…)variations of the model…)

But the basic notion of iterationBut the basic notion of iteration is very firmly established. is very firmly established.

For each ‘cycleFor each ‘cycle’:’: risk is assessed, risk is assessed, more design and development is undertaken, more design and development is undertaken, the work products and evaluated, and the work products and evaluated, and planning for the next cycle in the spiral is undertaken; planning for the next cycle in the spiral is undertaken; Iterate…..Iterate…..

Please note that in reality, the Spiral Model curve is actually Please note that in reality, the Spiral Model curve is actually skewed to the right, as the spirals do not ‘carve’ out equal skewed to the right, as the spirals do not ‘carve’ out equal ‘areas.‘areas.

Area in each cycle is a determinant of effort and cost….Area in each cycle is a determinant of effort and cost….

Page 21: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

2121

Spiral Model - OverviewSpiral Model - Overview Quadrants in a cycleQuadrants in a cycle::

Creation of a prototype as a means to gather and lock Creation of a prototype as a means to gather and lock in requirements; gain customer buy-in.in requirements; gain customer buy-in.

Risk is assessed and if acceptable, Risk is assessed and if acceptable, Development activities then follow using the waterfall Development activities then follow using the waterfall

model model Specifications are created from the prototyping Specifications are created from the prototyping

effort, Then Requirements, Analysis, Design, effort, Then Requirements, Analysis, Design, Implementation, … ensueImplementation, … ensue

Review and release are undertaken…Review and release are undertaken…

Restart and iterate as above…Restart and iterate as above… Planning for next iteration is undertaken – or not…Planning for next iteration is undertaken – or not… Iterate until application is developed fully and totally Iterate until application is developed fully and totally

released to the clients.released to the clients.

Page 22: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

2222

Spiral Model - moreSpiral Model - more

May beMay be several cycles of prototyping…but as prototypes several cycles of prototyping…but as prototypes evolve, these evolve, these may become official releasesmay become official releases of the product of the product (internal or external).(internal or external).

Before a cycle endsBefore a cycle ends, the review discusses experiences, , the review discusses experiences, assesses risk, and decision made whether or not to proceedassesses risk, and decision made whether or not to proceed..

Note: for each cycle, FIRST thing before embarking is to Note: for each cycle, FIRST thing before embarking is to decide what are the major requirements to be handled.decide what are the major requirements to be handled. Adjust the architecture and requirements and/or project Adjust the architecture and requirements and/or project

plan as needed.plan as needed.

The Spiral forms the basis for entire life cycle of the product.The Spiral forms the basis for entire life cycle of the product. Thus, the Spiral Model continues the spiral process for Thus, the Spiral Model continues the spiral process for

MaintenanceMaintenance, and the model continues until the application is , and the model continues until the application is ultimately retired or ultimately retired or replacedreplaced……

Page 23: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

2323

R & D StageR & D Stage

InceptionInception ElaborationElaboration ConstructionConstruction TransitionTransition

Production StageProduction Stage

IdeaIdea ArchitectureArchitecture Beta ReleasesBeta Releases ProductsProducts

PrototypesCoarse artifactsMajor risk itemsCreative, judgmentBusiness RulesStakeholder Vision

PrototypesCoarse artifactsMajor risk itemsCreative, judgmentBusiness RulesStakeholder Vision

Change managed baselinesElaborate artifacts

Low Risk ItemsEngineering, reasoned

Well-instrumented processes

Change managed baselinesElaborate artifacts

Low Risk ItemsEngineering, reasoned

Well-instrumented processes‘Skewness:

Spiral Model and the RUP Phases

Page 24: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

2424

Back to our Process Model (RUP)Back to our Process Model (RUP) Let’s look more closely at the phases for our process Let’s look more closely at the phases for our process

model:model: InceptionInception ElaborationElaboration ConstructionConstruction TransitionTransition

Each phase has Each phase has primary objectives, primary objectives, essential activities, and essential activities, and primary evaluation criteria primary evaluation criteria

to judge its success at milestone time.to judge its success at milestone time.Since the Since the processprocess that is underpinning our management that is underpinning our management

of software processes and personnel course is the RUP, of software processes and personnel course is the RUP, it is imperative that we it is imperative that we understand understand thisthis management management process, the RUP, as much as possibleprocess, the RUP, as much as possible

Page 25: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

2525

Inception Phase (1 of 3)Inception Phase (1 of 3) Overriding GoalOverriding Goal: achieve concurrence among : achieve concurrence among

stakeholders on life-cycle objectives for the project stakeholders on life-cycle objectives for the project (milestone: LCO)(milestone: LCO)

Primary ObjectivesPrimary Objectives: (by end of phase…): (by end of phase…) Establish project software scope and boundary conditionsEstablish project software scope and boundary conditions

Includes operational concept, acceptance criteria, and a clear Includes operational concept, acceptance criteria, and a clear understanding of what is and what is not intended in the productunderstanding of what is and what is not intended in the product

Identify Identify critical use casescritical use cases (core functionalities) of system (core functionalities) of system and the and the primary scenariosprimary scenarios that will drive the activities that will drive the activities

DemonstrateDemonstrate at least one candidate architectureat least one candidate architecture against against some of the primary scenarios (walk through it…)some of the primary scenarios (walk through it…)

Estimate the cost and scheduleEstimate the cost and schedule for the entire project for the entire project (including detailed estimates for the elaboration phase)(including detailed estimates for the elaboration phase)

Estimate potential risksEstimate potential risks (sources of unpredictability) (sources of unpredictability) Know These!Know These!

Page 26: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

2626

Inception Phase (2 of 3)Inception Phase (2 of 3) Essential ActivitiesEssential Activities

Develop Project ScopeDevelop Project Scope Capture requirements and concept of operations Capture requirements and concept of operations repositoryrepository

Describes users’ view of the requirementsDescribes users’ view of the requirements Repository contains information used to define problem spaceRepository contains information used to define problem space Repository must contain information to capture acceptance criteriaRepository must contain information to capture acceptance criteria

Develop a Candidate Architecture and Demonstrate itDevelop a Candidate Architecture and Demonstrate it Repository contains enough information to Repository contains enough information to demonstratedemonstrate at least a at least a

single candidate architecturesingle candidate architecture This might be at a very high level, such as deployment level;This might be at a very high level, such as deployment level; A general layered architecture may also be demonstrated. A general layered architecture may also be demonstrated. But considerable Requirements have not yet been done and almost NO But considerable Requirements have not yet been done and almost NO

Analysis and Design have been undertaken. Analysis and Design have been undertaken. Repository must include enough data to support make/buy Repository must include enough data to support make/buy

decisions so that cost, schedule, resources can be ‘costed out.’decisions so that cost, schedule, resources can be ‘costed out.’ Planning and Preparing the Business CasePlanning and Preparing the Business Case

Risk management strategies, staffing, general iteration plans, Risk management strategies, staffing, general iteration plans, cost/schedule/profitability tradeoffscost/schedule/profitability tradeoffs are all evaluated. are all evaluated.

Environmental (Infrastructure) support is defined.Environmental (Infrastructure) support is defined. ROI, market shareROI, market share, etc., etc.

Page 27: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

2727

Inception Phase (3 of 3)Inception Phase (3 of 3)

Primary Evaluation CriteriaPrimary Evaluation Criteria Stakeholder concurrenceStakeholder concurrence on scope definition and on scope definition and

cost/schedule estimates?cost/schedule estimates? Do Do critical use casescritical use cases demonstratedemonstrate that the that the

requirements are understood?requirements are understood? Do we have credible estimates for Do we have credible estimates for

cost/schedule/resources/risks/development? cost/schedule/resources/risks/development? Does the architectural prototype support previous Does the architectural prototype support previous

itemsitems? (Does the prototype indicate that the scope of ? (Does the prototype indicate that the scope of project is understood, and does the development project is understood, and does the development group indicate prevalent understanding?)group indicate prevalent understanding?)

Are actual expenditures verses planned expenditures Are actual expenditures verses planned expenditures acceptable? <<end inception>>acceptable? <<end inception>>

LCO Milestone…LCO Milestone…

Page 28: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

2828

Elaboration Phase (1 of 5)Elaboration Phase (1 of 5) Clearly the most important phase! Overriding goals Clearly the most important phase! Overriding goals

are several, varied, and critical!are several, varied, and critical! At end of phaseAt end of phase: :

engineering is complete, engineering is complete, almost all use cases are designed (certainly all critical use cases and almost all use cases are designed (certainly all critical use cases and

flows), flows), a prototype for gathering requirements and to demonstrate proof of a prototype for gathering requirements and to demonstrate proof of

concept is accommodated, and concept is accommodated, and an analysis model is constructed, and an analysis model is constructed, and a baseline executable architecture is established and demonstrated.a baseline executable architecture is established and demonstrated.

Risks have to have been addressed and strategies understood;Risks have to have been addressed and strategies understood; Business Rules have been subscribed to closely; Business Rules have been subscribed to closely; Cost and schedule are acceptable and predictable and updated, if necessary, Cost and schedule are acceptable and predictable and updated, if necessary, Stakeholder acceptance is achieved (the vision is realized in the artifacts), etc. Stakeholder acceptance is achieved (the vision is realized in the artifacts), etc.

and and We have stability… We have stability… We want to We want to graduategraduate from a low-cost effort into a full-blown production from a low-cost effort into a full-blown production

process, where costs are maxed and personnel are process, where costs are maxed and personnel are on staffon staff..

Page 29: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

2929

Elaboration Phase (2 of 5)Elaboration Phase (2 of 5)

Primary Objectives (at end of phase…)Primary Objectives (at end of phase…) Base-liningBase-lining the architecture asap (establishing the architecture asap (establishing

configuration management procedures…for configuration management procedures…for tracking all artifacts!tracking all artifacts!

Base-liningBase-lining the Vision. It is now ‘solid’ and the Vision. It is now ‘solid’ and accommodated in the artifacts so far.accommodated in the artifacts so far.

Base-liningBase-lining a detailed plan for Construction a detailed plan for Construction DemonstratingDemonstrating the baseline architecture such the baseline architecture such

that it clearly supports the vision – at, of course, that it clearly supports the vision – at, of course, reasonable cost in reasonably time.reasonable cost in reasonably time.

Page 30: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

3030

Elaboration Phase (3 of 5)Elaboration Phase (3 of 5) Essential ActivitiesEssential Activities

Detail the Vision.Detail the Vision. Ensure Ensure all haveall have this this shared functional visionshared functional vision and that this is and that this is

reflected in the Use Cases that will reflected in the Use Cases that will drive the architecture and drive the architecture and planningplanning….….

Discuss: What does this mean to you??? Explain!Discuss: What does this mean to you??? Explain! Detail the process (to come) and the infrastructure Detail the process (to come) and the infrastructure

support.support. Must be spelled outMust be spelled out; the plans for each iteration in ; the plans for each iteration in

Construction (project management supporting discipline) and Construction (project management supporting discipline) and the anticipated assessment at the end of each iteration, the the anticipated assessment at the end of each iteration, the functionality accommodated by each iteration must be functionality accommodated by each iteration must be spelled out in general. spelled out in general.

Detailed iteration planning (after first iteration or two) will Detailed iteration planning (after first iteration or two) will come later. But overview planning is now! come later. But overview planning is now!

Discuss: What does this mean? Explain!Discuss: What does this mean? Explain!

Page 31: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

3131

Elaboration Phase (4 of 5)Elaboration Phase (4 of 5) Essential Activities – continuedEssential Activities – continued

Build the Architecture…Build the Architecture… Group classes into packages; subsystems; consider Group classes into packages; subsystems; consider

existing executable components that may be reusable – e.g. existing executable components that may be reusable – e.g. GUI Components (commonly available); can you reverse GUI Components (commonly available); can you reverse engineer existing components? (Should you seek to buy engineer existing components? (Should you seek to buy components? Contract for them? Develop them?)components? Contract for them? Develop them?)

But you MUST integrate these into architectural units (layers, But you MUST integrate these into architectural units (layers, packages, subsystems, all with dependencies, well-defined packages, subsystems, all with dependencies, well-defined interfaces, …)interfaces, …)

Bounce your candidate architecture against your primary Bounce your candidate architecture against your primary scenarios to trace that all functionality is accommodated by scenarios to trace that all functionality is accommodated by these artifacts.these artifacts.

May result in a number of design choices and changes in model May result in a number of design choices and changes in model elements (e.g. classes, responsibilities…)elements (e.g. classes, responsibilities…)

May point out some requirements missing…May point out some requirements missing… Remember, requirements are singular; but there is not a Remember, requirements are singular; but there is not a

single, perfect design.single, perfect design.

Page 32: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

3232

Elaboration Phase (5 of 5)Elaboration Phase (5 of 5) Primary Evaluation CriteriaPrimary Evaluation Criteria

Remember, at the end of Elaboration Phase we have Remember, at the end of Elaboration Phase we have the LCA – Life Cycle Architecture Milestone. So, …the LCA – Life Cycle Architecture Milestone. So, … Is the Vision solid? Stable?Is the Vision solid? Stable? Is the Is the architecturearchitecture stable? Demonstratable? stable? Demonstratable?

Execute example of addressing a high risk scenario? Execute example of addressing a high risk scenario? Does the architecture indicated that all Does the architecture indicated that all risk elementsrisk elements have have

been addressed/mitigated?been addressed/mitigated? Have we looked carefully into Construction and established Have we looked carefully into Construction and established

sufficient planning detail to project credibility in our estimates? sufficient planning detail to project credibility in our estimates? (initial iteration – one or two – carefully planned?)(initial iteration – one or two – carefully planned?)

Do we have stakeholder buy-in that their vision can be Do we have stakeholder buy-in that their vision can be accommodated if we proceed as plans indicate?accommodated if we proceed as plans indicate?

Are actual resource expenditures verses planned resource Are actual resource expenditures verses planned resource expenditures acceptable so far?expenditures acceptable so far?

Achieve this Milestone! Press on – with concurrence.Achieve this Milestone! Press on – with concurrence.

Page 33: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

3333

Construction Phase (1 of 5)Construction Phase (1 of 5)

Great mindset changeGreat mindset change: now interested in : now interested in producing a deployable product! producing a deployable product! ((implementationimplementation))

iterate, iterate…, integrate/assess/plan as we go.iterate, iterate…, integrate/assess/plan as we go. No longer ‘engineering;’ rather, production!!!No longer ‘engineering;’ rather, production!!!

Need to Need to manage resources, control operationsmanage resources, control operations to to optimize costs, schedules, and quality.optimize costs, schedules, and quality.

Emphasis on the Emphasis on the developmentdevelopment of intellectual of intellectual property shifts to the reality of property shifts to the reality of usable productsusable products. .

Page 34: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

3434

Construction Phase (2 of 5)Construction Phase (2 of 5)

One very nice attribute in Construction:One very nice attribute in Construction: Parallel developmentParallel development

Based on architecture…do homework up front!!!!Based on architecture…do homework up front!!!! Accelerates delivery of deployable releasesAccelerates delivery of deployable releases Downside: complicates project management and Downside: complicates project management and

synchronization of teams, integration, and workflow.synchronization of teams, integration, and workflow. ArchitectureArchitecture will drive this will drive this

A good architecture will support parallel developmentA good architecture will support parallel development Emphasized during Elaboration – planning for Emphasized during Elaboration – planning for

Construction.Construction.

Page 35: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

3535

Construction Phase (3 of 5)Construction Phase (3 of 5)

Primary ObjectivesPrimary Objectives Develop the system rapidly but with high Develop the system rapidly but with high

quality – that is, construction (programming quality – that is, construction (programming and unit testing) ‘and unit testing) ‘implements’implements’ the design; the design; ‘‘realizerealize’ the design…’ the design…

Take advantage of the Take advantage of the processprocess, versioning, , versioning, reviews, assessment, etc. to minimize costs reviews, assessment, etc. to minimize costs due to due to needlessneedless rework and scrap. rework and scrap.

Develop alpha, beta, ‘or what have you’ Develop alpha, beta, ‘or what have you’ releases for Transition phase.releases for Transition phase.

Page 36: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

3636

Construction Phase (4 of 5)Construction Phase (4 of 5)

Essential ActivitiesEssential Activities Manage resources; control development (via Manage resources; control development (via

plans, configuration management, change plans, configuration management, change management, …);management, …);

Perform unit testing (component testing) Perform unit testing (component testing) against requirements (against requirements (verificationverification))

Assess releases against Assess releases against acceptance criteriaacceptance criteria cited in vision. (cited in vision. (validationvalidation) )

V&V …Discuss….V&V …Discuss….

Page 37: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

3737

Construction Phase (5 of 5)Construction Phase (5 of 5) Primary Evaluation Criteria (at end)Primary Evaluation Criteria (at end)

Milestone is ‘Initial Operational Capability’ (IOC)Milestone is ‘Initial Operational Capability’ (IOC) Is the product Is the product reliablereliable enough for deployment? enough for deployment?

Does not mean Does not mean everythingeverything must be perfect…Showstoppers? must be perfect…Showstoppers? Does it fail frequently??Does it fail frequently??

Is product ‘Is product ‘stablestable’ enough for deployment’ enough for deployment?? Pending changes are okayPending changes are okay But are we getting But are we getting change requestschange requests a-plenty? a-plenty? Are defects being identified rapidly ‘as we speak?’Are defects being identified rapidly ‘as we speak?’ How significant are the changes??How significant are the changes??

Is the stakeholder community ready to transitionIs the stakeholder community ready to transition?? Are Are actualactual expenditures reasonably close to expenditures reasonably close to plannedplanned

expenditures?expenditures?

Page 38: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

3838

Transition Phase Transition Phase

Recall Recall endend of phase of phase milestone: milestone: product release to product release to user domainuser domain. . Implies product is stable, has high quality, has Implies product is stable, has high quality, has

accompanying user documentation (on-site or web-based accompanying user documentation (on-site or web-based training…), customer support is ‘ready’, etc...training…), customer support is ‘ready’, etc...

Phase ‘could’ include any of these…Phase ‘could’ include any of these… Beta testing to validate new system against expectationsBeta testing to validate new system against expectations Beta testing Beta testing in parallelin parallel with legacy system to be replaced with legacy system to be replaced InstallationInstallation ConversionConversion of operational data bases of operational data bases Training usersTraining users, maintenance team, , maintenance team, customer supportcustomer support……

Page 39: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

3939

Transition PhaseTransition Phase

Phase concludes when the baseline realizes the Phase concludes when the baseline realizes the original vision and we are ready to put it in the original vision and we are ready to put it in the users’ hands.users’ hands.

Might be end of project development or starting Might be end of project development or starting point for next cycle, point for next cycle, or starting point for next or starting point for next version of deployable version...version of deployable version...

Might be forwarding ‘whole shooting match’ over Might be forwarding ‘whole shooting match’ over to to the maintenance group or the maintenance group or third party for future work…third party for future work…

Page 40: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

4040

Transition PhaseTransition Phase

Transition is not uncomplicatedTransition is not uncomplicated May involve several iterations includingMay involve several iterations including

Beta1, beta2, … testing and ‘levels’ of releases (all Beta1, beta2, … testing and ‘levels’ of releases (all releases may not be equal…)releases may not be equal…) Custom software?Custom software? Conversion software?Conversion software?

Development of user documentation, Development of user documentation, User training, especially in initial use of productUser training, especially in initial use of product

Web-X; on developer’s site; on client’s site.Web-X; on developer’s site; on client’s site. Who pays for what? How does this work? Millions!!! Who pays for what? How does this work? Millions!!!

Usability problems and tuning, Usability problems and tuning, (Un)solicited feedback, and more….(Un)solicited feedback, and more….

Page 41: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

4141

Transition PhaseTransition Phase

Essential ActivitiesEssential Activities ““Synchronization and integration of concurrent Synchronization and integration of concurrent

construction increments into construction increments into consistent deployable consistent deployable baselinesbaselines” – ensure all flows…” – ensure all flows…

Installation / ConversionInstallation / Conversion Cut over (complete switch to new application)Cut over (complete switch to new application) Run in parallel, or Run in parallel, or Phased…Phased…

Assessment against vision and acceptance criteria.Assessment against vision and acceptance criteria. Evaluation CriteriaEvaluation Criteria

Is user satisfied?Is user satisfied? Are actual expenditures reasonably close to planned Are actual expenditures reasonably close to planned

expenditures?expenditures?

Page 42: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

4242

Summary - Summary - Know TheseKnow These Recognize each phase has one or more Recognize each phase has one or more

iterationsiterations Phases end with major milestones; (Know Phases end with major milestones; (Know

these!)these!) Iterations within phases have minor milestones.Iterations within phases have minor milestones.

Each have deliverable(s) and undergoes assessment Each have deliverable(s) and undergoes assessment against criteriaagainst criteria

Each iteration entails a sequence of activities that Each iteration entails a sequence of activities that culminate in a minor milestones or major milestones culminate in a minor milestones or major milestones (if iteration ends phase) (if iteration ends phase)

Scope and results of iterations are captured via Scope and results of iterations are captured via artifacts produced.artifacts produced.

Page 43: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

4343

Summary (continued) – Know!Summary (continued) – Know!

Major Major Milestones (Milestones (phasephase end): end): Approved by stakeholdersApproved by stakeholders MapMap to significant management/business to significant management/business decisionsdecisions rather than rather than

to completion of a specific software development activity.to completion of a specific software development activity.

Minor Minor milestones (milestones (iterationiteration end): end): Approved internally and Approved internally and Realized by artifacts / new versions of artifacts in repository; Realized by artifacts / new versions of artifacts in repository; internal synchronization, internal synchronization, internal assessment, internal assessment, Additional planning take place…Additional planning take place… ‘‘Executable’ releases (not necessary deployable…)Executable’ releases (not necessary deployable…)

Page 44: 1 Chapter 5 Life-Cycle Phases From Software Project Management By Walker Royce (of IBM) And Slides on Spiral by Barry Boehm

4444

Lessons Learned – Organizational ChangeLessons Learned – Organizational Change Middle management is where the war is wonMiddle management is where the war is won

Championed by respected leaders who Championed by respected leaders who own the planown the plan and and execution. execution.

Project Management: Can be immense pressures from Project Management: Can be immense pressures from above (Sr. Management) and different sets of above (Sr. Management) and different sets of problems/issues from below (actual developers)problems/issues from below (actual developers)

ROI on first implementationROI on first implementation Disruption costs must be absorbable in the benefitDisruption costs must be absorbable in the benefit

Implemented on business critical projectImplemented on business critical project This is where the A-players areThis is where the A-players are

Success breeds success – (like the NFL)Success breeds success – (like the NFL) First increment needs to be ambitious, but realisticFirst increment needs to be ambitious, but realistic

Results drive incentivesResults drive incentives Such as: Such as: milestone demonstrations, release timeliness, milestone demonstrations, release timeliness,

release content, etcrelease content, etc Not: processes, methods, expended energy, reuse, audits, Not: processes, methods, expended energy, reuse, audits,

meetings, subjective assessments, document production,…meetings, subjective assessments, document production,…