220 likes | 351 Views
RUP Project Estimation and Planning Demystified. Bob Heinemeyer Principal Consultant Capable Software, LLC. What We Will Be Covering. Effort estimation Utilizing Use Case Point Analysis (UCPA) Coarse-grained planning (See artifact: Software Development Plan)
E N D
RUP Project Estimation and Planning Demystified Bob Heinemeyer Principal Consultant Capable Software, LLC
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
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
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!
RUP Overview Disciplines
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
UCPA: Actors • 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
UCPA: Use Cases • 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
Phase Level Standard Effort and Schedule Assumptions Walker Royce, Software Development Project Management: A Unified Approach. Addison Wesley, 1998, p.148.
Discipline Level Standard Effort Assumptions Source: Walker Royce, Software Development Project Management: A Unified 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
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
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
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
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
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
Future A web-based RUP project planning tool Contact: bob.heinemeyer@capablesoftware.com (602) 620-3882 www.capablesoftware.com