Project Management - Utrecht University Management Part 2 of the planning phase ... and the COCOMO...
Transcript of Project Management - Utrecht University Management Part 2 of the planning phase ... and the COCOMO...
Project Management Part 2 of the planning phase
Planning and controllinga system’s development
Modelling and Systems Development
Lecture 4
2
Context of project management
• Recall the Systems Development Life Cycle (SDLC):– Planning– Analysis– Design– Implementation
• Planning: – Project initiation:
• Why build the system?• Can we build the system?
– Project management:• How to build the system
with its desired functionality on time and within budget?
3
Project management
1. Identify project size 2. Create & manage the work plan3. Staff the project4. Coordinate project activities
4
Identify project size
1. Use industry standards– and your own experience from prior
projects
2. Use function points, project complexity and the COCOMO model
• Both methods are highly empirical!
5
Estimation trade-offs
• Size (functionality)– Function points– Lines of code
• Time– Months
• Cost and effort– Person-months
6
Estimating a project based on industry information
Planning Analysis Design Implementation
Industrystandard
for businessapplications
15% 20% 35% 30%
Estimatesin PersonMonths
4(actual)
5.33(estimated)
9.33(estimated)
8(estimated)
7
Function points
• A measure of program size based on the number and complexity of:– Inputs (e.g. a form)– Outputs (e.g. a report)– Queries (e.g. searching a database)– Files (e.g. a file containing product
information)– Program interfaces (to ‘communicate’ to other
systems)
8
Estimate time required(months)
Estimate effort required(person-months)
Time estimation using the function point approach
Estimate system size(function points and lines of code)
e.g. 1 monthfor 700 loc
9
Adjusted function points
• System size:– TUFP, Total Unadjusted FP’s– APC, Adjusted Project Complexity– TAFP, Total Adjusted FP’s; depends on
TUFP and APC
10
Project complexity
• 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
PC = sum of all 14 values assigned to the factors; range: 0 - 70
11
Adjusted project complexity
1. APC = Adjusted Project Complexity = 0.65 + 0.01 * PC; range: 0.65 – 1.35
2. Alternative: estimate APC without using the 14 factors, but using:
• very simple = 0.65• normal = 1• very complex = 1.35
3. TAFP = TUFP * APC
12
Lines of code• Convert FP’s to
LOC’s (Lines Of Code)
• These numbers should not be taken too literally
Language LOC/FP C 130
COBOL 110
JAVA 55C++ 50
Turbo Pascal 50
Visual Basic 30
PowerBuilder 15
HTML 15
Packages (Access, Excel) 10 - 40
13
Estimated effort (person-months)
• COCOMO (COnstructive COst MOdel)– nowadays usually called COCOMO II– different models depending on the type of
system, the developers etc.; complicated– a key word is calibration
• Here we use a very simple model:
Effort = 1.4 * KLOC (Kilo Line Of Code)
14
Estimated schedule time• Schedule time in months =
c x person-months1/3
(sched_time = c x p_months1/3) • c varies between 2.5 and 3.5; usually c = 3• Examples
– p_months = 27 => sched_time = 9– p_months = 64 => sched_time = 12– if p_months2 = 8 * p_months1 then
sched_time 2 = 2 * sched_time 1 and so # employees must grow a factor 4
15
• A work plan is a list of tasks with – dates– deliverables– responsible person(s)– status– …
Creating the work plan
16
Example task description
Task name Code login moduleStart date Jan 12, 2007Completion date Jan 19, 2007Person assigned Frank Deliverable(s) Java codeCompletion status OpenPriority HighResources needed Eclipse 3.1Estimated time 12 hoursActual time 13.2 hours
17
Identifying tasks
• Top-down approach– Identify highest level tasks – Break them into increasingly smaller units
• Methodology– Based on SDLC phases (planning,
analysis...)– Based on products (Web pages, applets,
database server,...)
18
Task identification based on SDLC
Phases:Planning, AnalysisDesign, Implement.
Planning: project initiation
system request, feasibilityproject management:
identify project sizecreate & manage workplanstaff the projectcoordinate project activities
Work Plan Task name Duration Dependency Status
****
19
Project Logic Diagram
• Directed graph showing task dependencies
start finish
20
PERT diagrams
• PERT = Programme Evaluation and Review Technique
• Decorates nodes in Project Logic Diagram with timing information
21
Nodes in PERT diagrams
12 10 22
16 264
Task name
Earlieststart time
Lateststart time
Earliestfinish time
Latestfinish time
Total float
26
Computing float
1210 22
2816
float
A task is called critical if the computed float comes out 0.
Any delay in a critical task will lead to delay of the entire project.
The critical tasks form a path from start to finish, called the critical path.
6
-
28
Gantt chart
• Contains:– tasks with start and
end date– relations between
tasks:– task <contains> subtask– task1 <precedes> task2
• may include:– cost of task– persons responsible
for a task– milestones
31
Refining estimatesBased on hurricane model: gradual refinement
Typical margins of error for well-done estimates
Phase Deliverable Cost (%) Sched. time (%)
Planning System Request 400 60Project Plan 100 25
Analysis System Proposal 50 15Design System Specification 25 10
Source: Boehm et al. (1995)
32
When you are late ...
• due to an apparent underestimation; e.g. 2 months turned out to become 3 months:– move all deadlines by 1 month– increase all estimations for the next phases
by a factor 1.5 (or reduce the scope)– don’t change your estimations (but add
people to the project)
33
Timeboxing/RADNo focus on tasks but on time
– Argument: how many features do you use from your word processor?
1. Fix deadline for this cycle2. Prioritize functionality (MoSCoW model:
Must/Should/Could/Won’t have)3. Build and deliver the most
important functionality
34
Managing scope
• Scope creep: tendency to add requirements after the project scope was set (first law of S.E.)
• Reasons: – new technical possibilities– users seeing new useful functionality – upper management wants to include new
strategies
35
Staffing the project
• Deliverable = the staffing plan; contains:– the different roles needed:
• project manager• functional lead + analysts (business, systems)• technical lead + technical staff
– the reporting structure– the project’s objectives and rules
36
Staffing the project
• Assigning people to roles:– a person often has several roles– distinguish technical skills (e.g. being a
network specialist or a programmer) from interpersonal skills (e.g. how sociable you are or how well you communicate);
– look for balance within the team
37
Staffing the project
• Adding staff may add more overhead than additional labor: N
persons
theoretically have N * (N – 1)/2 lines of communication
• Using teams of 8-10, reporting in a hierarchical structure, can reduce complexity
38
Motivation: the key success factor
• Deadlines: must be realistic• ‘Pat on the back’: very motivating!• Bonus/salary: be careful!• Decision making: involve team members• Working conditions: must be excellent• New skills: challenging, but learn them in
time
39
Coordinating project activities
• CASE• Standards• Documentation• Managing risk
40
CASE: Computer Aided Software Engineering
• Software for automating (part of) the development process
• Upper CASE: used primarily for analysis• Lower CASE: used for design and e.g. for
generating database tables• I-CASE (I: Integrated) = upper + lower
– Rational Rose, Oracle Designer/2000, ...– But often used as diagramming tool!
41
Standards• Documentation:
– often templates, headers and footers, ...• Coding:
– last update and who made that, brief description, ...• UI:
– fonts, colors, ...• Procedures:
– changes in e.g. specs must be approved by the PM; with a conflict, try to settle it, or escalate to one level up, …