1 rup project estimation and planning demystified bob heinemeyer principal consultant capable...
TRANSCRIPT
1
RUP Project Estimation and Planning Demystified
Bob HeinemeyerPrincipal Consultant
Capable Software, LLC
2
What We Will Be Covering
• Effort estimation– Utilizing Use Case Point Analysis (UCPA)
• Coarse-grained planning (See artifact: Software Development Plan)– Utilizing standard RUP project assumptions
concerning schedule and effort– Utilizing iteration patterns
• Project planning and estimation spreadsheet
3
What We Won’t Be Covering
• Management planning– Project organization– Metrics– Quality assurance– Communication
• Fine-grained planning (See artifact: Iteration Plan)
• UCPA computational details• RUP details
4
Resources•Banerjee, Gautam, “Use Case Points – An Estimation Approach.” Rational Whitepaper, 2001.
•Krol, Per and Kruchten, Philippe, The Rational Unified Process Made Easy: A Practitioners Guide Rational Unified Process. Addison Wesley Longman, 2003.
•Kruchten, Philippe, From Waterfall to Iterative Development, The Rational Edge, December 2002.
•Kruchten, Philippe, The Rational Unified Process – An Introduction (2nd Edition). Addison Wesley Longman, 2000.
•Lopes Cardoza, Eric S. and DeVillers, DJ, Project Planning Best Practices, The Rational Edge, August 2003.
•Rational Unified Process 2003, IBM Rational, Cupertino, CA, 2003
•Schneider, Geri and Winters, Jason P., Applying Use Cases—A Practical Guide (2nd Edition). Addison Wesley Longman, 2001.
•Walker Royce, Software Development Project Management: A Unified Approach. Addison Wesley, 1998.
•West, David, “Planning a Project with the Rational Unified Process.” Rational Whitepaper, 2002.
5
What’s Mystifying
• 31 Roles• 83 Artifacts• 148 Activities• Four phases• Iterations (?!)• Just-enough/Just-in-time philosophy• CIO wants cost, schedule and staffing
numbers by next Friday!
8
Key RUP RolesProject Management Analysis & Design
Project Manager Software Architect
Project Reviewer Designer
Environment Database Designer
Process Engineer Designer Reviewer
Tool Specialist Test
System Administrator Test Manager
Business Modeling Test Analyst
Business Process Analyst Test Designer
Business Designer Tester
Business Model Reviewer Deployment
Requirements Deployment Manager
Systems Analyst Course Developer
Requirements Specifier Graphic Artist
Requirements Reviewer Technical Writer
User Interface Designer Change & Configuration Mgmt
Implementation Configuration Manager
Implementer Change Manager
Code Reviewer Integrator
9
What Is Use Case Point Estimation?
• Procedure for doing analytical estimation of effort very early in project lifecycle
• Uses fragmentary use cases and actors plus characteristics of the project and development environment as basis
• Variation on Function Point Analysis
10
UCPA: Actors
Actor Type Weighting Factor
Simple 1
Average 2
Complex 3
•Actor: someone or something outside the system that interacts with the system. •Actor type
• Simple: another system with defined API• Average: another system interacting via protocol (e.g., TCP/IP)• Complex: human interacting through GUI or web
11
UCPA: Use Cases
Use Case Type Weighting Factor
Simple 1
Average 2
Complex 3
•Use case: sequence of actions that yields an observable result of value to an actor. •Use case type
• Simple: simple piece of work; simple UI; 1 entity• Average: more difficult; more UI design; >1 entities• Complex: very difficult; complex UI or processing; >2 entities
12
UCPA: Technical FactorsRating
Factor Description Weight None Average Strong
T1 Distributed system 2 0 3 5
T2 Response objectives 2 0 3 5
T3 End-user efficiency 1 0 3 5
T4 Complex processing 1 0 3 5
T5 Reusable code 1 0 3 5
T6 Easy to install 0.5 0 3 5
T7 Easy to use 0.5 0 3 5
T8 Portable 2 0 3 5
T9 Easy to change 1 0 3 5
T10 Concurrent 1 0 3 5
T11 Security features 1 0 3 5
T12 Access for third parties 1 0 3 5
T13 Special user training 1 0 3 5
13
UCPA: Environmental Factors
Rating
Factor Description Weight None Average Strong
F1 Familiar with RUP 1.5 0 3 5
F2 Application experience .5 0 3 5
F3 Object-oriented experience
1 0 3 5
F4 Lead analyst capability .5 0 3 5
F5 Motivation 1 0 3 5
F6 Stable requirements 2 0 3 5
F7 Part-time workers -1 0 3 5
F8 Difficult programming language
-1 0 3 5
14
Phase Level Standard Effort and Schedule Assumptions
Domain Inception Elaboration Construction Transition
Effort 5% 20% 65% 10%
Schedule 10% 30% 50% 10%
Walker Royce, Software Development Project Management: A Unified Approach. Addison Wesley, 1998, p.148.
15
Discipline Level Standard Effort Assumptions
Discipline Effort
Management (PM+CCM) 10%
Environment 10%
Requirements (+BM) 10%
Analysis & Design 15%
Implementation 25%
Assessment (Test) 25%
Deployment 5%
Source: Walker Royce, Software Development Project Management: A Unified Approach. Addison Wesley, 1998, p.148
16
Iteration Pattern
• A set of iterations with a particular configuration of lengths, numbers and objectives that is appropriate for projects with certain characteristics.
• Analogous to design patterns
17
Iteration Pattern: Incremental Lifecycle
• Strategy– determine user needs– define the system requirements– perform the rest of the development in a sequence of builds, each build adding
more capabilities until the system is complete. • Project Characteristics
– The problem domain is familiar. – Risks are well-understood. – The project team is experienced.
• Iteration Pattern– a short Inception iteration to establish scope and vision, and to define the
business case – a single Elaboration iteration, during which requirements are defined, and the
architecture established – several Construction iterations during which the use cases are realized and the
architecture fleshed-out – several Transition iterations to migrate the product into the user community
18
Iteration Pattern: Evolutionary Lifecycle
• Strategy– acknowledges user needs are not fully understood– all requirements cannot be defined up front, they are refined in each
successive build• Project Characteristics
– The problem domain is new or unfamiliar. – The team is inexperienced
• Iteration Pattern– a short Inception iteration to establish scope and vision, and to define
the business case – several Elaboration iterations, during which requirements are refined at
each iteration – a single Construction iteration, during which the use cases are realized
and the architecture is expanded upon – several Transition iterations to migrate the product into the user
community
19
Iteration Pattern: Incremental Delivery Lifecycle
• Strategy– phased deliveries of incremental functionality to the customer– time-to-market pressures, where delivery of certain key features early can yield
significant business benefits– requires a very stable architecture
• Project Characteristics– The problem domain is familiar:
• the architecture and requirements can be stabilized early in the development cycle
• there is a low degree of novelty in the problem – The team is experienced. – Incremental releases of functionality have high value to the customer.
• Iteration Pattern– a short Inception iteration to establish scope and vision, and to define the
business case – a single Elaboration iteration, during which a stable architecture is baselined – a single Construction iteration, during which the use cases are realized and the
architecture fleshed-out – several Transition iterations to migrate the product into the user community
20
Iteration Pattern: Grand Design Lifecycle
• Strategy– traditional waterfall approach– hard to avoid additional iterations in the transition phase.
• Project Characteristics– a small increment of well-defined functionality is being added to a very
stable product – the new functionality is well-defined and well-understood – The team is experienced, both in the problem domain and with the
existing product • Iteration Pattern
– a short Inception iteration to establish scope and vision, and to define the business case
– a single very long Construction iteration, during which the use cases are realized and the architecture fleshed-out
– several Transition iterations to migrate the product into the user community
21
Project Planning & Estimation Spreadsheet
• Performs planning and estimation extremely early in Inception by combining standard RUP project assumptions, with Iteration Patterns and Use Case Point Analysis
• Best used as iterative, “what if” tool• Requires RUP roles Software Architect, Process
Engineer, Project Manager and System Analyst– One to four individuals, usually two.
• Brief demo
22
Future
A web-based RUP project planning tool
Contact:
[email protected](602) 620-3882
www.capablesoftware.com