Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 55

Project Management

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

Project Management involves assigning projected values for each

IDENTIFYING PROJECT SIZE

Estimating Timeframe Based on Industry Standards


Planning Industry Standard For Typical Business Applications Analysis Design Implementation

15%

20%

35%

30%

Time Required in Person Months = 26.66

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

20 * 0.2 = 4 20 * 0.35 = 7 20 * 0.3 = 6


17+ 3 = 20 person months Person month = 1 month of effort by 1 person

Estimating Timeframe Using Function Point Approach


Estimate System Size
(function points and lines of code)

Estimate Effort Required


(person-months)

Estimate Time Required


(months)

Function Point Approach


Function Point
Measure of project size based on the number and complexity of inputs, outputs, queries, files and program interfaces Developed by Allen Albrecht of IBM 1979

Function Point Approach-- Step One


Complexity Description Inputs Outputs Queries Files Program Interfaces Low __x 3 __x 4 __x 3 __x 7 __x 5 Medium __x 4 __x 5 __x 4 __x 10 __x 7 High __x 6 __x 7 __x 6 __x 15 __x 10 Total ____ ____ ____ ____ ____

TOTAL UNADJUSTED FUNCTION POINTS

____

Function Point Approach Step One Example


Complexity Description Inputs Outputs Queries Files Program Interfaces Low 3x3 4x4 7x3 0x7 1x5 Medium 2x4 10 x 5 0x4 15 x 10 0x7 High 1x6 5x7 3x6 0 x 15 2 x 10 Total 23 101 39 150 25

TOTAL UNADJUSTED FUNCTION POINTS (TUFP)

338

Function Point Approach --Step Two


Scale of 1 to 5 Data Communications Heavy Use Configuration Transaction Rate End-User efficiency Complex Processing Installation Ease Multiple sites Performance Distributed functions On-line data entry On-line update Reusability Operational Ease Extensibility Project Complexity (PC) _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____

Function Point Approach --Step Two Example


Scale of 1 to 5 Data Communications Heavy Use Configuration Transaction Rate End-User efficiency Complex Processing Installation Ease Multiple sites Performance Distributed functions On-line data entry On-line update Reusability Operational Ease Extensibility Project Complexity (PC) __3__ _____ _____ _____ _____ _____ _____ _____ _____ __2__ __2__ _____ _____ _____ __7__

Function Point Approach-- Step 3


Processing Complexity (PC): ________ (From Step 2) Adjusted Processing Complexity (APC) = 0.65 + (0.01 * ____ )

Total Adjusted Function Points (TAFP): _____ * ____ = (TUFP -- From Step 1)

Function Point Approach -- Step 3 Example


Processing Complexity (PC): ___7____ (From Step 2) Adjusted Processing Complexity (APC) = 0.65 + (0.01 * _7_ )

Total Adjusted Function Points (TAFP): 338 * 0.72 = 243.36 (TUFP -- From Step 1)

243

Function Point Approach -- Step 3 Shortcut


Project Managers choose to assign an APC value from a range 0.65 very simple system 1.00 for normal system 1.35 very complex system

Convert Function Points to Lines of Code


Language
C COBOL JAVA C++ Turbo Pascal Visual Basic PowerBuilder HTML Packages (e.g., Access, Excel)

LOC/Per Function Point


130 110 55 50 50 30 15 15 10-40

Source: Capers Jones, Software Productivity Research

Function Point Approach Step Four Example


243 Function Points COBOL 110 LOC per FP 243 * 110 = 26,730 lines of code to create system Java 55 LOC per FP 243 * 55 = 13,365 lines of code to create system

Estimating Effort
Function of size and production rate COCOMO model
Boehm 1981 Convert lines of code estimates into personmonths estimates

COCOMO Estimation Calculation


Effort (in PersonMonths) = 1.4 * thousands-oflines-of-code

Example: If LOC = 2000 Then... Effort = (1.4 * 2)

2.8 Person Months

2.8 * 152 hours = 425.6 hours of effort

COCOMO Estimation Calculation -- Step Five Example


COBOL 110 LOC per FP = 26,730 lines of code to create system

COCOMO /Effort 1.4 * 26.73 = 37.42 person-months 37.42 * 152 = 5687.84 hours

Estimating Schedule Time


Rule of thumb for estimation
Schedule Time (months)

=
3.0 * person-months1/3

COCOMO Estimation Calculation -- Step Six Example


37.42 person-months 3.0 * 37.42 1/3 = 10.02 months

COCOMO Estimation Calculation -- Step Seven Example Number of staff needed


No of person-months / optimal schedule time 37.42 / 10.02 = 3.73 full time staff members

CREATING THE WORK PLAN

Developing Work Plans


A work plan, is a dynamic schedule that records and keeps track of all tasks to be accomplished over the course of the project Created after a project manager has a general idea of the projects size and rough schedule The work plan is usually the main item in a project management software application

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:

Jan 19, 2010


Mary Smith (project sponsor) Cost-benefit analysis Complete High Spreadsheet software

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

Top Down Task Identification


Phases

Phases with high level steps

Work Plan * * * *

Deliverables

Estimated hours

Actual hours

Assigned To

Work Breakdown Structure

Gantt Chart

PERT Chart Example


T5, 2 C T4, 6 E T2, 3 T7, 1 T1, 4 A B T3, 2 T6, 2 G D5, 0 F

PERT Chart Example


Used to communicate task dependencies Allows easier visualization of tasks on a critical path

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

Increasing Complexity with Larger Teams

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

STAFFING THE PROJECT

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

Conflict Avoidance Strategies


Clearly define roles and project plans Hold individuals accountable Project charter listing norms and groundrules Develop schedule commitments ahead of time Forecast other priorities and their possible impact on the project

CONTROLLING AND DIRECTING THE PROJECT

The Hurricane Model

Time

Project Stage

Margins of Error in Cost and Time Estimates


Typical margins of Error for Well-done Estimates Phase Planning Deliverable System Request Project Plan System Proposal System Specification Cost (%) 400 100 50 25 time (%) 60 25 15 10

Analysis Design

Source: Boehm et al. (1995)

CASE Tools
Initiation Analysis Design Implementation

Upper CASE

Lower CASE

Integrated CASE (I-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.

Expanding the Domain


For more detail on project management, visit the project management institute and its special interest group on information systems:
www.pmi.org www.pmi-issig.org

You might also like