18
Iterative Project Management Lifecycle Planning Chapter 6 – Overall Project Planning Modified Considerably by your Instructor

Iterative Project Management Lifecycle Planning Chapter 6 – Overall Project Planning Modified Considerably by your Instructor

Embed Size (px)

Citation preview

Iterative Project Management

Lifecycle Planning

Chapter 6 – Overall Project Planning

Modified Considerably by your Instructor

© 2005 Ivar Jacobson International 2Iterative Project Management / 03 - Lifecycle Planning

Intro To Example: Excerpts from the Vision of The ACME Super ATM

• Problem Statement– The problem of having convenient

and secure access to banking balances to withdraw funds, manage accounts or purchase automatically dispensed goods

– Affects customers of financial organizations and vendors using transactional paper based currency (tickets, paper-based goods etc)

– Impact: low customer satisfaction and high transaction costs

– Successful solution: allowa customers access to their assets and the ability to transform them into other forms of paper based currency

• Product Position Statement– For financial institutions and vendors of

paper based goods– Who own or manage automated teller

networks– The ACME Super ATM is an automated

teller machine– That provides lowered cost of ownership

and flexible definition of new transaction types and dispensable paper goods

– Unlike conventional ATM devices and ticket machines

– Our product utilizes standard computing platforms and component technology to provide a flexible, generic, extensible but low-cost platform for managing customer transactions and dispensing goods

© 2005 Ivar Jacobson International 3Iterative Project Management / 03 - Lifecycle Planning

Principle 1: Understand the Desired Outcomes

Objectives

Financial

(What is important to our sponsors and senior management)

Reduce total cost of supporting teller machines by 50%.

Reduce cost of configuring devices to dispense different items.

Penetrate new markets (ticket retailing and other paper based goods).

Customer

(What is important to our users? How do our customers perceive us?)

To provide a modular, expandable and customizable platform for ATMs, and ultimately general-purpose “dispenser” kiosks configurable as bank teller (traditional ATM), ticket dispenser, postage dispenser, card charger etc.

Process

(Are we innovative and ready for the future?)

Replace existing systems.

Increase availability to 99.9%.

Introduce a shared architecture for teller machines.

Learning and Growth

(What changes in our process will help to add value?)

Develop software iteratively.

Pilot the Unified Process.

Must understand what the project needs to achieve to be successful.

Balanced scorecard: provides a good way to summarize desired outcomes for project.Forces project to consider a number of perspectives some of which are often forgotten in planning IT projects. Objectives should be complemented with measures and targets.

© 2005 Ivar Jacobson International 4Iterative Project Management / 03 - Lifecycle Planning

Principle 2: Identify and assess overall risks (This list is incomplete…)

• Business Risks– Market may be too crowded

with competitors

– May not be able to price product aggressively enough to displace competitors

• Cost to develop may be too high

• Profit margin may provide insufficient return on investment

– Customers may not want a new or more flexible solution

– No future market for paper based goods (tickets etc)

• Technical Risks– PC/Windows-based platform may

not be reliable enough for remote/unattended use

– System may not “fail gracefully” if power or network connection is lost in the middle of a transaction

– System may not be able to be made “tamper-proof” especially the device ‘charging’

– May not be able to deliver a sufficiently flexible, component-based system at low cost

– Underlying technology (J2EE) may not perform sufficiently well to meet needs

– Printing may not be flexible or reliable enough

In the UP, risk becomes the dominant factor in planning iterations!

© 2005 Ivar Jacobson International 5Iterative Project Management / 03 - Lifecycle Planning

Principle 3: Set the Management Strategy (bolds are mine)

• Style of Delivery– Staged iterative and incremental delivery

– Co-located teams

• Level of ceremony and formality– The project will be low ceremony with high levels of user /

stakeholder involvement

– Adopt standard QA process with central governance

• Process selection– Unified Process, small project tailoring

– Risk management using Top 10 risks (RM Plan)

• Reporting and communications– Primary reporting mechanism – iteration assessment

• User Acceptance– Independent user acceptance and system test

– Stakeholders involved in all iteration and phase reviews

© 2005 Ivar Jacobson International 6Iterative Project Management / 03 - Lifecycle Planning

Principle 4: Create an Achievement-Based Roadmap

ConfigurableDispensing

Proved

Basic Withdrawal

Implemented

TechnologyPiloted

Existing ATMsReplaced

ATMs Upgraded

Super ATM for Banking Launched

TicketDispensingIntroduced

Ticket PartnerRecruited

Demonstration atInternational Rail

Conference

Vending PlatformSpecification

Agreed

CurrentAccount

Management

Full AccountManagement

SystemsManagement

Cross Selling &Advertising

Basic PrintedGoods Production

Full PrintedGoods Production

Basis for overall project planning including compelling events, business milestones, stepping stones, and the approach / strategy to deployment

© 2005 Ivar Jacobson International 7Iterative Project Management / 03 - Lifecycle Planning

Principle 5: Understand the solution and its scope

Withdraw Cash

Deposit Funds

Manage Account

Customer

Transfer Funds

Burglar Break Into Machine

Refill and Service the Machine

Reconcile Transaction Logs

Configure the Machine

Update System Configuration

Run Advertising CampaignATM Operator

ATM Engineer

Check the Machine is in Working Order

Purchase TicketsPurchase Goods

Change Pricing

Charge Device WithFunds

Analyze System Performance

System-level Use Case Diagram showing all Actors

© 2005 Ivar Jacobson International 8Iterative Project Management / 03 - Lifecycle Planning

Principle 6: Assess and Estimate the Work to Be Done

• For each use case– Prioritize from a customer perspective

– Assess the architectural significance

– Create an estimate

• For each component– Assess size and complexity

– Create an estimate

• Compare to earlier developments– Create an estimate

Perform triangulation on the estimates to producea consensus view of the overall cost and effort.

There are many techniques for the estimation of software projects planning. These include use-case points, function points, analogy, COCOMO II, etc.

© 2005 Ivar Jacobson International 9Iterative Project Management / 03 - Lifecycle Planning

Principle 7: Define the External Release Plans

Release 1 Release 2 Release 3 Release 4 & Up

ConfigurableDispensing

Proved

Basic Withdrawal

Implemented

CurrentAccount

Management Full AccountManagement

SystemsManagement

Cross Selling &Advertising

Basic PrintedGoods Production

Full PrintedGoods Production

Structure the roadmap to reflect the external releases.Must have total stakeholder buy in to these planned releases.

Printed Goods Capability Proved

© 2005 Ivar Jacobson International 10Iterative Project Management / 03 - Lifecycle Planning

External Release Planning - Adding in the Process Milestones

Initiation Stage 1 Stage 2 Stage 3

Release 1: Basic Withdrawal Facilities

Release 2: Account and Systems Management

Release 3: Full Account Management and Printed Goods

Inc Con Trans

Inception Elab Con Trans

Elab Con TransInc

Stage 4

Elab

Release 4: Full PrintedGoods Production

Elab Con TransInc

Shows evolution / external release and stage planning using the Unified Process cycles. We do not consider planning anything other than our agreed commitments and major business milestones at this time

© 2005 Ivar Jacobson International 11Iterative Project Management / 03 - Lifecycle Planning

External Release Planning: Select From The Use Cases

Release 1: , Release 2: , Release 3: , Release 4: , Out of Scope:

Withdraw Cash

Deposit Funds

Manage Account

Customer

Transfer Funds

Burglar Break Into Machine

Refill and Service the Machine

Reconcile Transaction Logs

Configure the Machine

Update System Configuration

Analyze System Performance

Run Advertising CampaignATM Operator

ATM Engineer

Check the Machine is in Working Order

Purchase TicketsPurchase Goods

Change Pricing

Charge Device WithFunds

Note that use-case scenarios are designed and implemented during planned releases.

© 2005 Ivar Jacobson International 12Iterative Project Management / 03 - Lifecycle Planning

Principle 8: Delegate the Execution of the Plans

• To get anything done, a team must be put together and an iteration executed

• Based on the framework provided by the initial risk list, roadmap, vision, business case and a lifecycle plan for the evolution / external release– Start to sketch out the iterations– Decide who will manage the evolution / external release– Allocate and recruit resources– Start iterating

As soon as you can, take the highest risks, and highest priority objectives, and start to address

them by producing a release of the software

© 2005 Ivar Jacobson International 13Iterative Project Management / 03 - Lifecycle Planning

Partial Plan for the ACME Super ATM Release 1

• Inception Phase– Risks Mitigated:

• Crowded market• Product pricing and

profitability• Customer demand for

configurable transactions– Scenarios:

• Withdraw Cash• Configure Transaction

• Elaboration Phase– Risks Mitigated:

• Reliability of OS platform• Scalability of J2EE

infrastructure• Fault tolerance• Tamper-proofing• Printing flexibility & reliability

• Elaboration Phase (continued)– Scenarios:

• Break into Machine• Withdraw Cash + Bank

System Stopping Responding

• Withdraw Cash Basic Flow + Handle Transaction Log Failures

• Withdraw Cash (scenarios in parallel)

• Simple ticket printing• Construction Phase

– Risks Mitigated:• Completing work on time,

within budget– All remaining scenarios

Notice the beauty of this approach: Capture the risks/ address the mitigation of the risks and design the solution to mitigate the risks as captured in use-case scenarios.

© 2005 Ivar Jacobson International 14Iterative Project Management / 03 - Lifecycle Planning

Summary of Increments for ACME Super ATM Release 1

Phase Iteration Resulting Incremental Releases

Inception I1I2

Proof of Concept: Basic cash dispensing

Proof of Concept : Configurable cash dispensing

Elaboration E1E2

E3

Architecture Release: Withdraw Cash Basic Flow

Architecture Release : Withdraw Cash w. basic failure modes and protection + initial load testing

Architecture Release : Simple ticket printing + initial demo

Architecture Release : Withdraw Cash w. correction and reconciliation + load and performance testing.

Ticket printing flexibility and reliability testing

Construction C1

C2

Functional Release: Basic cash withdrawal

Use Cases: Withdraw Cash, Refill and Service

Functional Release: Usable Cash Withdrawal

Complete remaining use cases:

Transition T1

T2

Patch Release: Bug fixes

This release is heavy on architecture.Heavy risk is addressed via the architecture and its realization

© 2005 Ivar Jacobson International 15Iterative Project Management / 03 - Lifecycle Planning

Principle 9: Iteratively Evolve and Challenge the Plans

• We must act upon the empirical evidence provided by the iterations– The end of phase reviews must be taken seriously as

decision points– The phase success criteria must be met before proceeding

to the next phase– We must be prepared to rework and continuously adjust the

plans

• Iterations provided empirical evidence – Lagging indicators– Current indicators– Leading indicators

If the plans don’t change – be afraid, be very afraid.

© 2005 Ivar Jacobson International16Iterative Project Management / 03 - Lifecycle Planning

Summary and Review: Planning, planning, planning!

• Multiple levels of plan are required:– Overall project plan – benefits focused– Development plan – evolution / external release focused– Iteration plan – task / activity focused

• The plans are related by milestones and achievements• The UP milestones provide a roadmap for the

development of the system

• The detail resides in the iteration plan– The higher level plans exist to record commitments and allow

impact analysis

• Don’t do detailed planning for more than one iteration ahead

© 2005 Ivar Jacobson International 17Iterative Project Management / 03 - Lifecycle Planning

Planning and Management Products

Product Category Purpose Product Types

Terms of ReferenceDefine the project goals and objectives

Business Case

Vision

Contract

Acceptance Criteria

Project Plans Plan the project

Overall Project Plan

Software Development Plan

Iteration Plan

Deployment Plan

Management Strategy

Define how the project will be conducted

Project Approach

Quality Plan

Measurement Plan

Technical Plans (CM etc)

AssessmentTrack and report the state of the project

Iteration Assessment

Phase Reviews

Status Assessment

According to Kurt Bittner, we are focused here on planning and assessment of the project.Elements of the management strategy need to be discussed where they are impacted by the introduction of iterative development practices.

© 2005 Ivar Jacobson International 18Iterative Project Management / 03 - Lifecycle Planning

Management Responsibilities and Reviews

Role Responsibilities Gateway Review

Overall Project Manager

Overall Project Planning

Set the management strategy

Stage Reviews

Overall Project Close-down

Development Project Manager

Evolution PlanningPhase Reviews and Software Project Close-down

Iteration LeadIteration Planning

Team leadingIteration Assessment

For the project to be ‘joined up’ the managementmust work as a team to plan and assess the project.

These three management roles share the responsibilities of the traditional UP Project Manager role.