Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Outline
When, What, How, Who
Introduction
RUP Iteration Planning RUP Iteration Planning Object Oriented Software DesignObject Oriented Software Design
Resources
Phases Iteration Planning
Iteration Strategies
22
Introduction (1)
�Two Levels of Plan
� A coarse-grained plan: the phase plan• Dates of the major milestones
• Staffing profile
• Dates of the minor milestone• Dates of the minor milestone
� A series of fine-grained plans: the iteration plans
RUP Iteration Planning RUP Iteration Planning 33 Object Oriented Software DesignObject Oriented Software Design
Introduction (2)
�“A time-sequenced set of activities and tasks, with assigned resources, containing task dependencies, artifacts, and evaluation criteria for the iteration”
RUP Iteration Planning RUP Iteration Planning Object Oriented Software DesignObject Oriented Software Design44
When should I do that?
�Built in the preceding iteration (second half)
�Maintained in the current iteration
�Two “active” iteration plan at one time:
� The current iteration plan
� The next iteration plan
RUP Iteration Planning RUP Iteration Planning 55 Object Oriented Software DesignObject Oriented Software Design
What do I need?
�The project plan
�The current status of the project
�Previous iteration plan assessment
�Software architecture
� List of scenarios/usecases
� List of major classes and packages
�List of changes/fixes for preceding artifacts
RUP Iteration Planning RUP Iteration Planning 66 Object Oriented Software DesignObject Oriented Software Design
How?
�Understand the Objectives of the Phase
�Determine the Deliverable(s)
�Find the related activities
�Associate Resources with Activities
�Define Monitoring and Control Processes
�Assess Iteration
RUP Iteration Planning RUP Iteration Planning 77 Object Oriented Software DesignObject Oriented Software Design
What’s its constituents?
�Plan� Activities� Schedule� Deliverables
�Resources�Resources� Staffing Resources� Financial Resources� Equipment & Facilities
�Use Cases�Evaluation Criteria
RUP Iteration Planning RUP Iteration Planning 88 Object Oriented Software DesignObject Oriented Software Design
Who?
�Project Manager
�Software Architect
�Management Reviewer
RUP Iteration Planning RUP Iteration Planning 99 Object Oriented Software DesignObject Oriented Software Design
Iteration Strategies (1)
�Wide and Shallow
� When is appropriate?• Inexperienced team (problem domain / technology
area)
• Consequential / unprecedented architecture• Consequential / unprecedented architecture
� Potential pitfalls• Analysis paralysis
• Delayed result
• Not enough of the technical details to get a sense of the real technical risks
RUP Iteration Planning RUP Iteration Planning 1010 Object Oriented Software DesignObject Oriented Software Design
Iteration Strategies (2)
�Deep and Narrow
� When is appropriate?• Early result � Overcome dominant risk, garner
support, or prove viability
• Continually evolving requirements• Continually evolving requirements
� Potential pitfalls• Incompatible components / stovepipe
• Large part of the functionality must be sampled to achieve a balance architecture in a completely new problem domain / an unprecedented architecture
RUP Iteration Planning RUP Iteration Planning Object Oriented Software DesignObject Oriented Software Design1111
Iteration Strategies (3)
�Hybrid approach
� Narrow/Deep strategy used in Inception
� Wide/Shallow strategy used in Inception
� Wide/Shallow strategy used in Elaboration• With selective Narrow/Deep focus
� Narrow/Deep strategy used in Construction
RUP Iteration Planning RUP Iteration Planning Object Oriented Software DesignObject Oriented Software Design1212
Inception Phase Iteration Planning
�Objective Drivers
� Vision
� Business case & critical requirements
� Project management (feasibility & setting up the team)the team)
� Development environment
RUP Iteration Planning RUP Iteration Planning 1313 Object Oriented Software DesignObject Oriented Software Design
Elaboration Phase Iteration Planning
�Objectives Drivers� Risk
• For the most damaging risks, identify a scenario in one use case that would force the development team to "confront" the risk.
� Coverage� Coverage• Toward the end of the phase, include scenarios that
touch areas you know will require development (baseline an architecture)
� Criticality• make sure to include the most fundamental function
or services provided
RUP Iteration Planning RUP Iteration Planning 1414 Object Oriented Software DesignObject Oriented Software Design
Construction Phase Iteration Planning
�Objectives Drivers
� Risk• New and unsuspected risks are uncovered
• Complete some of the more critical ones early
� Completeness� Completeness• Toward the end of the construction phase, the main
goal will be to ensure coverage of full use cases.
RUP Iteration Planning RUP Iteration Planning 1515 Object Oriented Software DesignObject Oriented Software Design
Transition Phase Iteration Planning
�The main goal is to finish this generation of the product
�Bugs/Fixes/Improvements
RUP Iteration Planning RUP Iteration Planning 1616 Object Oriented Software DesignObject Oriented Software Design
Summery
�An iteration plan:� provides a detailed description of the upcoming
phase of work,
� defines the worker roles involved, necessary activities, and artifacts to be delivered in that activities, and artifacts to be delivered in that iteration,
� outlines a very clear set of measurement criteria by which progress can be assessed during the iteration and success can be measured at the end
� defines specific start/end dates and delivery dates
RUP Iteration Planning RUP Iteration Planning Object Oriented Software DesignObject Oriented Software Design1717
Resources
�Philippe Kruchten, “Rational Unified Process, The: An Introduction, Third Edition”, chapter 7, 16, Addison Wesley, 2003,
�David West , “Planning a Project with the IBM Rational Unified Process”, PT: Aug 2003, AT: Nov 2008, 2008, http://whitepapers.zdnet.com/abstract.aspx?docid=71897
�Rational Software Corporation, “Rational Unified Process Help, Activity: Develop Iteration Plan & Guidelines: Iteration Plan & Artifact: Iteration Plan “, 2003
RUP Iteration Planning RUP Iteration Planning 1818 Object Oriented Software DesignObject Oriented Software Design