52
Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Embed Size (px)

Citation preview

Page 1: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Lecture 3: Project Management

Dr. Taysir Hassan Abdel Hamid

Page 2: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Important 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.

Page 3: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Four Key Steps in Managing Projects

1. Identifying project size

2. Creating and managing the workplan

3. Staffing the project

4. Coordinating project activities

Page 4: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

1. IDENTIFYING PROJECT 1. IDENTIFYING PROJECT SIZESIZE

Page 5: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Project Manager’s Balancing Act

Project Management involvesmaking trade-offs… Project Size

Pro

ject C

ost

Proj

ect Ti

me

Modifying one elementrequires adjusting the others

Page 6: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Project Estimation

• Definition: The process of assigning projected values for time and effort

• Sources of estimates– Methodology in use– Actual previous projects– Experienced developers

• Estimates begin as a range and become more specific as the project progresses

Page 7: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Basic Approaches to Estimate Time Required to build a System

1. Using the amount of time spent in the planning phase

2. Estimating project time schedules using a more complex approach

Page 8: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Project Time Using the Planning Phase Approach

Page 9: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Project Time Estimation Using the Function Point Approach

Page 10: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Function Point

• Is a measure of program size that is based on the number and complexity of inputs, outputs, queries, files, and program interfaces.

• In addition to measuring output, Function Point Analysis is extremely useful in:– Estimating projects, – Managing change of scope, – Measuring productivity, and – Communicating functional requirements.

Page 11: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

• Inputs

• Outputs

• Inquiries

• Internal Logical Files

• External Interface Files

Input Inquiry

Output

InternalLogical

Files

External Interface

File

Five key components are identified based on logical user view

Application

The Function Point Methodology

Page 12: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

USER

LIST OF MOLDSWORK CENTERS

PARTS

PLANT MOLDS

PLANT INFORMATION CENTER

USER

BILL OF MATERIALS

PARTS LISTING

USER

ORDERPARTS

USER

CHANGEBILL

Inquiries

Internal Logical Files

Output

Inputs

InterfaceVENDORSUPPLY

VENDOR INFORMATION

Logical View of User Requirements

Page 13: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Calculate Function Points

Step 1 - Calculate Total Unadjusted Function Points (TUFP): • List major elements of system• Determine total number of each element• Specify complexity index of each component

(low, med., high)• Total index multiplied by number of components

(TUFP)

Page 14: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Function-Point MultipliersFunction Points

Program Low Medium HighCharacteristic Complexity Complexity ComplexityNumber of inputs 3 4 6Number of outputs 4 5 7Inquiries 3 4 6Logical internal files 7 10 15External interface files 5 7 10

Sum these to get an “unadjusted function-point total”

Multiply this by an “influence multiplier” (0.65 to 1.35),based on 14 factors from data communication to ease ofinstallation.

All of this gives a total function-point count.Use this with Jones’ First-Order Estimation Practice, orcompare to previous projects for an estimate

Page 15: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Calculate TUPF ExampleSystem Components

Page 16: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Calculate Function PointsStep 2 – Calculate Total Processing Complexity:

Overall complexity> Sum of its parts

0=no effect on processing complexity

3= great effect on processing complexity

Page 17: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Calculate Function Points

Adjusted Project Complexity (APC)= 0.65 + (0.01 * Project Complexity)= 0.65 + (0.01*7)=0.72

Step 3- Calculate Adjusted

Processing Complexity (APC): • The processing complexity of the simplest project is defined as

0.65, the normal 1.00, and the most complex one as 1.35

Page 18: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Calculate Function Points

Step 4- Calculate Total Adjusted Function Points (TAFP):

Total Adjusted Function Points (TAFP)= Adjusted Project Complexity * TUFP

Processing Complexity (PC): __7______(From Step 2)

Adjusted Processing Complexity (PCA) = 0.65 + (0.01 * __7_ )

Total Adjusted Function Points: _0.72 * _338_ = 243 (TUFP -- From Step 1)

Page 19: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Converting Function Points to Lines of Code

Source: Capers Jones, Software Productivity Research

LanguageLines of Codes per Function Point

CCOBOLJAVAC++Turbo PascalVisual BasicPowerBuilderHTMLPackages (e.g., Access, Excel)

130110 55 50 50 30 15 1510-40

Page 20: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Converting Function Points to Lines of Code

Calculate the lines of codes: Total Lines of Codes = Function points

* Lines of code per function point in the chosen language

Example: If you chose C, then 243 function Points times 130 lines of code = 31,590 total lines of code

Page 21: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Function Point Estimation Step Two – Estimate Effort Required

• Function of size and production rate

• COCOMO model

(Effort in = 1.4 * thousands-of-lines-of-codePerson Months)

Example:

If LOC = 10000 Then...Effort = (1.4 * 10) = 14 Person Months

Page 22: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Function Point Estimation Step Three - Schedule Time

Rule of thumb for estimation

Schedule Time (months)=

3.0 * person-months (1/3 is the exponent)

Example:

Effort = 14 person-month

Schedule time =3.0*141/3=7.2 months

Page 23: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Estimation tips

• Allow time for the estimate• Use data from previous projects• Use developer-based estimates• Estimate by walk-through• Estimate by categories• Estimate at a low-level of detail• Don’t omit common tasks• Use software estimation tools (CrossTalk) • Use several different techniques, and compare the

results• Change estimation practices as the project progresses

Page 24: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

CREATING AND MANAGING CREATING AND MANAGING THE WORK PLANTHE WORK PLAN

Page 25: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

A Workplan Example

Work Plan Information Example

Name of task Perform economic feasibilityStart date Jan 05, 2005Completion date Jan 19, 2005Person assigned Project sponsor: Mary SmithDeliverable(s) Cost-benefit analysisCompletion status OpenPriority HighResources needed SpreadsheetEstimated time 16 hoursActual time 14.5 hours

Page 26: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Identifying Tasks

• Methodology– Using standard list of tasks

• Top-down approach– Identify highest level tasks– Break them into increasingly smaller units– Organize into work breakdown structure

Page 27: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Project Workplan

• List of all tasks in the work breakdown structure, plus– Duration of task– Current task status– Task dependencies– Milestone (dates)

Page 28: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Tracking Project Tasks

• Gantt Chart– Bar chart format– Useful to monitor project status at any point in

time

• PERT Chart– Flowchart format– Illustrate task dependencies and critical path

Page 29: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Tracking Tasks Using Gantt Chart

Go to Library

Go to Bookstore

Select and Purchase Book

Skim Book

Write Phase One

Read Book Carefully

Write Phase Two

Task Week 2 3 4 5 6 7 8 9 10 11 12 13

Page 30: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid
Page 31: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Tracking Tasks Using PERT Chart

Page 32: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Margins of Error in Cost and Time Estimates

Page 33: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Managing Scope

• Scope creep

• JAD and prototyping

• Formal change approval

• Defer additional requirements as future system enhancements

Page 34: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Timeboxing

• Fixed deadline

• Reduced functionality, if necessary

• Fewer “finishing touches”

Page 35: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Timeboxing Steps

1. Set delivery date– Deadline should not be impossible– Should be set by development group

2. Prioritize features by importance3. Build the system core4. Postpone unfinished functionality5. Deliver the system with core functionality6. Repeat steps 3-5 to add refinements and

enhancements

Page 36: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

STAFFING THE PROJECTSTAFFING THE PROJECT

Page 37: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Staffing Attributes

• Staffing levels will change over a project’s lifetime

• Adding staff may add more overhead than additional labor

• Using teams of 8-10 reporting in a hierarchical structure can reduce complexity

Page 38: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Increasing Complexity with Larger Teams

Page 39: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Your Turn

• How do you know how many people to assign to a project?

• How do you know what special skills will be needed for completion of the project?

Page 40: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Key Definitions

• The staffing plan describes the kinds of people working on the project

• The project charter describes the project’s objectives and rules

• A functional lead manages a group of analysts

• A technical lead oversees progress of programmers and technical staff members

Page 41: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Motivation

• Use monetary rewards cautiously

• Use intrinsic rewards– Recognition– Achievement– The work itself– Responsibility– Advancement– Chance to learn new skills

Page 42: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Handling Conflict

• Clearly define project plans• Recognize project importance to organization• Project charter listing norms and groundrules• Develop schedule commitments ahead of time• Forecast other priorities and their possible

impact on the project

Page 43: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

COORDINATING PROJECT COORDINATING PROJECT ACTIVITIESACTIVITIES

Page 44: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

CASE Tools

Planning Analysis Design Implementation

Upper CASE Lower CASE

Integrated CASE (I-CASE)

Page 45: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Procedural MetadataLogic

Diagrams ScreenDesigns

CASE Repository

CASE Components

Page 46: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Standards

• Examples– Formal rules for naming files– Forms indicating goals reached– Programming guidelines

Page 47: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Documentation

• Project binder

• Table of contents

• Continual updating

Page 48: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Managing Risk

• Risk assessment

• Actions to reduce risk

• Revised assessment

Page 49: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid
Page 50: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Classic Mistakes

• Overly optimistic schedule

• Failing to monitor schedule

• Failing to update schedule

• Adding people to a late project

Page 51: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Summary

• Project management is critical to successful development of new systems

• Project management involves planning, controlling and reporting on time, labor, and costs.

Page 52: Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid

Copyright © 2006John Wiley & Sons, Inc.

• All rights reserved. Reproduction or translation of this work beyond that permitted in Section 117 of the 1976 United States Copyright Act without the express written permission of the copyright owner is unlawful.

• Request for further information should be addressed to the Permissions Department, John Wiley & Sons, Inc.

• The purchaser may make back-up copies for his/her own use only and not for redistribution or resale.

• The Publisher assumes no responsibility for errors, omissions, or damages, caused by the use of these programs or from the use of the information contained herein.