RUP Project Estimation and Planning Demystified

Download Report

Transcript RUP Project Estimation and Planning Demystified

RUP Project Estimation and
Planning Demystified
Bob Heinemeyer
Principal Consultant
Capable Software, LLC
1
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
2
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
3
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
4
Whitepaper, 2002.
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!
5
RUP Overview
Disciplines
6
RUP Key Concepts
7
Key RUP Roles
Project Management
Analysis & Design
Project Manager
Software Architect
Project Reviewer
Designer
Environment
Database Designer
Process Engineer
Tool Specialist
System Administrator
Business Modeling
Designer Reviewer
Test
Test Manager
Test Analyst
Business Process Analyst
Test Designer
Business Designer
Tester
Business Model Reviewer
Requirements
Deployment
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
8
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
9
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
10
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
11
UCPA: Technical Factors
Rating
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
12
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
13
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.
14
Discipline Level Standard
Effort Assumptions
Discipline
Management (PM+CCM)
Environment
Requirements (+BM)
Analysis & Design
Implementation
Assessment (Test)
Deployment
Effort
10%
10%
10%
15%
25%
25%
5%
Source: Walker Royce, Software Development Project Management: A Unified
15
Approach. Addison Wesley, 1998, p.148
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
16
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
17
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
18
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
19
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
20
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
21
Future
A web-based RUP project planning tool
Contact:
[email protected]
(602) 620-3882
www.capablesoftware.com
22