Upload
charles-curtis
View
221
Download
0
Tags:
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.