1 rup project estimation and planning demystified bob heinemeyer principal consultant capable...

22
1 RUP Project Estimation and Planning Demystified Bob Heinemeyer Principal Consultant Capable Software, LLC

Upload: verity-shepherd

Post on 28-Dec-2015

218 views

Category:

Documents


1 download

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!

6

RUP Overview

Disciplines

7

RUP Key Concepts

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