Professional Documents
Culture Documents
11 ProjectManagement COCOMO
11 ProjectManagement COCOMO
Key Definitions
Project management is the process of planning and controlling the development of a system within a specified timeframe at a minimum cost with the right functionality. A project manager has the primary responsibility for managing the hundreds of tasks and roles that need to be carefully coordinated. A project is a planned undertaking of a series of related activities to reach an objective that has a beginning and an end.
Project Management
Planning, organizing, and managing resources to bring about the successful completion of specific project goals and objectives
Cost Schedule Performance
Identify the size of the project, identify tasks to be performed, staff the project, co-ordinate project activities
Trade-offs
Size
Cost Time
15%
20%
35%
30%
5.33
9.33
Use time spent on planning to predict time required for the entire project Person Month = 1 month of effort by 1 person
Timeframe Example
Using the industry standards outlined previously calculate the time for a project that spends 3 months in the planning phase
Timeframe Example
3 months in planning 3 / 0.15 = 20
____
338
Total Adjusted Function Points (TAFP): _____ * ____ = (TUFP -- From Step 1)
Total Adjusted Function Points (TAFP): 338 * 0.72 = 243.36 (TUFP -- From Step 1)
243
Estimating Effort
Function of size and production rate COCOMO model
Boehm 1981 Convert lines of code estimates into personmonths estimates
COCOMO /Effort 1.4 * 26.73 = 37.42 person-months 37.42 * 152 = 5687.84 hours
=
3.0 * person-months1/3
A Workplan Example
Task name: Start date: Perform economic feasibility Jan 5, 2010
Completion date:
Person assigned to the task: Deliverable(s): Completion status: Priority: Resources needed:
Estimated time:
Actual time:
16 hours
14.5 hours
Identifying Tasks
Top-down approach
Identify highest level tasks Break them into increasingly smaller units
Methodology
Using standard list of tasks
Work Plan * * * *
Deliverables
Estimated hours
Actual hours
Assigned To
Gantt Chart
Staffing Attributes
Staffing levels will change over a projects lifetime Adding staff may add more overhead than additional labour Using teams of 8-10 reporting in a hierarchical structure can reduce complexity
Timeboxing
Fixed deadline Reduced functionality, if necessary Fewer finishing touches
Timeboxing Steps
Set delivery date
Deadline should not be impossible Should be set by development group
Prioritize features by importance Build the system core Postpone unfinished functionality Deliver the system with core functionality Repeat steps 3-5 to add refinements and enhancements
Key Definitions
The staffing plan describes the kinds of people working on the project The project charter describes the projects objectives and rules A functional lead manages a group of analysts A technical lead oversees progress of programmers and technical staff members
Project Manager
Functional Lead
Technical Lead
Analyst
Analyst
Programmer
Programmer
Motivation
Use monetary rewards cautiously Use intrinsic rewards
Recognition Achievement The work itself Responsibility Advancement Chance to learn new skills
Time
Project Stage
Analysis Design
CASE Tools
Initiation Analysis Design Implementation
Upper CASE
Lower CASE
CASE Components
Diagrams Screen Designs
CASE Repository
Procedural Logic
Metadata
Standards
Examples
Formal rules for naming files Forms indicating goals reached Programming guidelines
Documentation
Project binder Table of contents Continual updating
Managing Scope
Scope creep -- a major cause of development problems
JAD and prototyping Formal change approval Charging for changes
Managing Risk
Risk assessment Actions to reduce risk Revised assessment
Classic Mistakes
Overly optimistic schedule Failing to monitor schedule Failing to update schedule Adding people to a late project
Summary
Project management is critical to successful development of new systems Project management involves planning, controlling and reporting on time, labour, and costs.