Download presentation
Presentation is loading. Please wait.
Published byCharleen Bell Modified over 8 years ago
1
Lecture 3: Project Management Dr. Taysir Hassan Abdel Hamid
2
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.
3
Four Key Steps in Managing Projects 1.Identifying project size 2.Creating and managing the workplan 3.Staffing the project 4.Coordinating project activities
4
1. IDENTIFYING PROJECT SIZE
5
Project Manager’s Balancing Act Project Management involves making trade-offs… Project Size Project Cost Project Time Modifying one element requires adjusting the others
6
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
7
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
8
Estimating the Project Time Frame 1. Estimating Project Time Using Industry Standards 2. Function point approach (Appendix 2A) © Copyright 2011 John Wiley & Sons, Inc. 2-8
9
Project Time Estimation Using the Function Point Approach
10
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.
11
Inputs Outputs Inquiries Internal Logical Files External Interface Files InputInquiry Output Internal Logical Files External Interface File Five key components are identified based on logical user view Application The Function Point Methodology
12
USER LIST OF MOLDS WORK CENTERS PARTS PLANT MOLDS PLANT INFORMATION CENTER USER BILL OF MATERIALS PARTS LISTING USER ORDER PARTS USER CHANGE BILL Inquiries Internal Logical Files Output Inputs Interface VENDOR SUPPLY VENDOR INFORMATION Logical View of User Requirements
13
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)
14
Function-Point Multipliers Function Points ProgramLowMediumHigh CharacteristicComplexityComplexityComplexity Number of inputs 3 4 6 Number of outputs 4 5 7 Inquiries 3 4 6 Logical internal files 7 10 15 External 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 of installation. All of this gives a total function-point count. Use this with Jones’ First-Order Estimation Practice, or compare to previous projects for an estimate
15
Calculate TUPF Example System Components
16
Calculate Function Points Step 2 – Calculate Total Processing Complexity: Overall complexity > Sum of its parts 0=no effect on processing complexity 3= great effect on processing complexity
17
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
18
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)
19
Converting Function Points to Lines of Code Source: Capers Jones, Software Productivity Research Language Lines of Codes per Function Point C COBOL JAVA C++ Turbo Pascal Visual Basic PowerBuilder HTML Packages (e.g., Access, Excel) 130 110 55 50 30 15 10-40
20
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
21
Function Point Estimation Step Two – Estimate Effort Required Function of size and production rate: Effort is a function of the system size combined with production rates (how much work someone can complete in a given time). (Effort in= 1.4 * thousands-of-lines-of-code Person Months) Example: If LOC = 10000 Then... Effort =(1.4 * 10)= 14 Person Months
22
Examples For small to moderate-size business software projects (i.e., 100,000 lines of code and 10 or fewer programmers), the model is: effort (in person-months) = 1.4 * thousands of lines of code For example, let’s suppose that we were going to develop a business software system requiring 10,000 lines of code. This project would typically take 14 person-months of effort.
23
Examples of tools computing lines of code for different programming languages: 1.CCC – “free” for C++ and Java 2.CLOC – “free” for C++, COBOL, Fortran, Java, Javascript, Lisp, Perl, PHP, Python, Ruby, SQL 3.NDepend – “free” for C++, Java
24
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*14^1/3=7.2 months
25
This equation is widely used, although the specific numbers vary (e.g., some estimators may use 3.5 or 2.5 instead of 3.0).
27
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
28
CREATING AND MANAGING THE WORK PLAN
29
A Workplan Example
30
To create a workplan The project manager identifies the tasks that need to be accomplished and determines how long each one will take. Then the tasks are organized within a work breakdown structure.
31
Remember that the overall objectives for the system were recorded on the system request, and the project manager’s job is to identify all the tasks that will be needed to accomplish those objectives. The methodology that seems most appropriate for the project provides a list of steps and deliverables.
32
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
33
Project Workplan List of all tasks in the work breakdown structure, plus Duration of task Current task status Task dependencies Milestone (dates): Key milestones, or important dates, are also identified on the work plan
34
Open/Complete
35
Margins of Error in Cost and Time Estimates
36
Managing Scope Scope creep JAD and prototyping Formal change approval Defer additional requirements as future system enhancements
37
Timeboxing Fixed deadline Reduced functionality, if necessary Fewer “finishing touches”
38
Timeboxing Steps 1.Set delivery date –Deadline should not be impossible –Should be set by development group 2.Prioritize features by importance 3.Build the system core 4.Postpone unfinished functionality 5.Deliver the system with core functionality 6.Repeat steps 3-5 to add refinements and enhancements
39
STAFFING THE PROJECT
40
Staffing the project Determining how many people should be assigned to the project, Matching people’s skills with the needs of the project Motivating them to meet the project’s objectives, Minimizing project team conflict that will occur over time.
41
The deliverable for this part of project management is a staffing plan, which describes: the number and kinds of people who will work on the project, the overall reporting structure, the project charter, which describes the project’s objectives and rules.
42
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
43
Increasing Complexity with Larger Teams
44
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
45
Motivation Use monetary rewards cautiously Use intrinsic rewards –Recognition –Achievement –The work itself –Responsibility –Advancement –Chance to learn new skills
47
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
48
COORDINATING PROJECT ACTIVITIES
49
CASE Tools Planning Analysis Design Implementation Upper CASELower CASE Integrated CASE (I-CASE)
50
Procedural Metadata Logic DiagramsScreen Designs CASE Repository CASE Components
51
Standards Examples –Formal rules for naming files –Forms indicating goals reached –Programming guidelines
52
Types of Standards
54
Managing Risk Risk assessment Actions to reduce risk Revised assessment
56
Classic Mistakes Overly optimistic schedule Failing to monitor schedule Failing to update schedule Adding people to a late project
58
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
59
Tracking Tasks Using Gantt Chart Task Week 2 3 4 5 6 7 8 9 10 11 12 13
63
PERT Example
64
Summary Project management is critical to successful development of new systems Project management involves planning, controlling and reporting on time, labor, and costs.
65
Copyright © 2012 John 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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.