SE351a: Software Project & Process Management W8: Software Project Planning 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa
SE351 Roadmap Introduction to Software Project Management Project Management Software Development Life Cycles Requirements Engineering Software Process & Project Metrics Software Project Planning Project Monitoring & Control Risk Management Software Quality Assurance 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 2
Notes References Effective Project Management, R.K. Wysocki et al., John Wiley and Sons, 1995, ISBN 0-471-36028-7 Project Management: A Systems Approach to Planning, Scheduling, and Controlling, 6th Ed, by Harold Kerzner ISBN: 0-471-28835-7, Published: July 1997, Imprint: Wiley 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 3
CMM L2 SE351a Perspective 2.1 Requirements management 2.2 Software project planning & control 2.3 Software subcontract management 2.4 Software quality assurance 2.5 Software configuration management Project Management Ad hoc 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 4
The Architecture of PMLC Scope the Project State the problem or opportunity Establish the project goal Define the project objectives Identify the success criteria List assumptions, risks and obstacles Launch the Plan Recruit and organize project team Establish team operating rules Level project resources Schedule work packages Document work packages Project Close-Out Obtain client acceptance Install project deliverables Complete project documentation Complete post-implementation audit Issue final project report Develop Detailed Plans Identify project activities Estimate activity duration Determine resource requirements Construct & analyze project network Prepare the project proposal Monitor & Control Progress Establish progress reporting system Install change control process Define problem escalation process Monitor progress versus plan Revise project plan 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 5
Project Management: The Control panel Activity Plan A A A PERT Assessment overall system B C Check specifications B C B C Integrate/ test system Expected Date D D D Personnel Resource Allocation Cumulative Cost 5 10 Cost Schedule 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 6
Recall: Definitions The Work Breakdown Structure (WBS) a deliverable-oriented grouping of the project components (products and services) which organizes and defines the total project scope Work Activity a collection of work tasks spanning a fixed duration within the schedule of a software project Work Task the smallest amount subject to management accountability Work Package a specification of the work that must be accomplished to complete a work task Work Product any tangible item produced during the project 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 7
Detailed WBS: Software Lifecycle Software System (SS) SS Defined Software Lifecycle Reqmts Analysis Subsystem (SS A ) Subsystem (SS A1 ) Requirements of SS A1 SS A SS A1 Work packages WP 1 of SS A1 WP 2 Code WP 3 Code of SS A1
From WBS to Schedule & Budget Items SS Software System (SS) Subsystem (SS A ) SS A Subsystem (SS A1 ) SS A1 Cost Account Requirements of SS A1 Work packages WP 1 WP 2 WP 3
Estimations Product size, e.g., LOC, FP & FeP Effort & Resources Cost & Schedule e.g., COCOMO & others 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 10
Preliminary Scheduling Steps 1. Identify project activities and products An activity must have a clearly defined start and end point, o normally marked by the production of a tangible deliverable 2. Identify dependency Some activities may require other activities to be completed before they can begin Establish a preliminary activity and product flow diagram 3. Allocate resources that an activity requires must be forecastable 4. Revise plan to create controllable activities 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 11
Project Networks A pictorial representation of the sequence in which the project work can be done Activity Plan Several types of project networks Activity-on-the-Node (AON) Activity-on-the-Arrow (AOA) overall system A B C D Check specifications A B C D A B C D Integrate/ test system 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 12
Project Networks: Activity-on on-the-node (AON) Activity Precedence network (AON) a directed graph with o o activities (nodes) and dependencies between them (directed arrows) Activity label Earliest start Latest start The only activity with no predecessor is the start activity The only activity with no successor is the final activity overall system A B C Activity span Activity description D Check specifications A B C Activity Node Duration A B C Earliest finish Latest Integrate/ test finish system Float= D D (Latest finish Earliest finish ) 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 13
Example: 4 s Project Consider a system that will have 4 major software s Develop specifications for the overall system and for each of the s the specifications of each need to be V&V together to make sure that they are mutually consistent Each needs to be designed, coded, and tested, and then all of the s need to be integrated and tested as a system 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 14
AON: The 4 Module Project A A A overall system B C V&V Specs. B C B C Integrate/ test system D D D 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 15
Critical Path Method Two main objectives Planning the project so that it is completed as quickly as possible Identifying activities where a delay in their execution will affect the overall end date or later activities start dates The most crucial part of the project network is the critical path the longest time sequences of tasks in a scheduling network 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 16
CPM Rules A project network may only have one start node and one end node A network may not contain loops nor dangles Precedents are the immediate preceding activities Time moves from left to right Nodes are numbered sequentially 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 17
Critical Path Method Steps 1. A forward pass (Early Schedule) Activity label Earliest start Latest start Activity span Activity description the Earliest dates at which activities can start and the project completed is determined Float= Activity Node Duration Earliest finish Latest finish (Latest finish Earliest finish ) 2. A backward pass (Late Schedule) the Latest dates for the activities is determined 3. Determine the critical path of the schedule 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 18
Precedence Network: FW /BW Passes 2 4 5 9 ES Time slot 1 1 A 0 1 1 1 B 0 3 D 0 5 2 4 5 9 2 3 4 5 C 1 2 E 4 2 10 12 F 0 3 10 12 LS LF EF Duration 3 4 8 9 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 19
The Critical Path For any activity within the network if LF - EF (float) equal zero o it is on the critical path Otherwise, o The float describes the length of time that is possible for the activity to be delayed from its ES time without delaying the project 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 20
Precedence Network: Critical Path Calculation 1 1 A 0 1 1 1 2 4 5 9 B 0 3 D 0 5 2 4 5 9 2 3 4 5 C 1 2 E 4 2 3 4 8 9 10 12 F 0 3 10 12 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 21
The Critical Path It represents earliest time required to complete a project If something on the critical path slips, the whole project slips Accelerating tasks not on the critical path o will not change the project completion date Need to have the optimal allocation of resources to its tasks 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 22
Float-Slack Time Free float the amount of time an activity may be delayed without o affecting the early start of any successor activities Total float the amount of time an activity may be delayed without o affecting the project completion date When we choose to delay the start of an activity First consider activities with free float 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 23
Project Networks: Activity-On On-the-Arrow (AOA) Milestone network AOA is a diagram with Links (arrowed lines) represent activities A link has duration Nodes (circles) represent the events of activities starting and ending Nodes have no duration 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 24
A A A CPM Network: 4 Module Project overall system B C Check specifications B C B C Integrate/ test system D D D A B overall system 1 2 3 4 C D Check specifications Event number A Expected 5 date B 6 C D 7 8 Target date A Standard deviation B C C 9 10 Integrate/ test system 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 25
PERT Charts PERT (Program Evaluation and Review Technique) uses three task duration estimates: 1. Most likely time (average): m 2. Optimistic time (best case): a 3. Pessimistic time (worst case): b The expected duration, t e, is given by (1:4:1) average formula: t a + 4m + b e = 6 with Standard deviation, s, is given by: b - a s = 6 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 26
Estimated Durations: 4 Module Project Estimated Estimated Activity duration Activity duration (days) (days) 1 overall 34 9 C 4 2 A 20 10 D 4 3 B 15 11 A 30 4 C 25 12 B 28 5 D 15 13 C 15 6 Check-specification 2 14 D 25 7 A 7 15 System integration 6 8 B 6 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 27
Expected Times and Standard Deviations: 4 Module Project Estimated duration (days) Activity Optimistic Most Likely Pessimistic Expected Standard (a) (m) (b) (t e ) (s) deviation 1 overall 29 34 38 33.83 1.50 2 A 16 20 26 20.33 1.67 3 B 13 15 18 15.17 0.83 4 C 21 25 28 24.83 1.17 5 D 12 15 17 14.83 0.83 6 Check-specification 1 2 3 2.00 0.33 7 A 5 7 10 7.17 0.83 8 B 5 6 8 6.17 0.50 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 28
Expected Times and Standard Deviations: 4 Module Project(Cont.) Activity Estimated duration (days) Optimistic Most Likely Pessimistic Expected Standard (a) (m) (b) (t e ) deviation (s) 9 C 3 4 6 4.17 0.50 10 D 3 4 7 4.33 0.67 11 A 24 30 34 29.67 1.67 12 B 23 28 31 27.33 1.33 13 C 11 15 17 14.67 1.00 14 D 22 25 29 25.17 1.17 15 System integration 4 6 8 6.00 0.67 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 29
PERT Node A A 5 A B B B overall system 6 Event number Target date 1 2 3 4 C D Check specifications C D 7 8 C C 9 1 Integrate/ 0 test system Expected date Standard deviation Expected date: largest t e along a path leading to node Standard deviation of a node: square root of the largest sum of squares of all standard deviations along a path leading to node Target date: a desired date 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 30
PERT Network: 4 Module Project 3? t = 20.33 s = 1.67 54.16 2.24 1 0 0 0 t = 33.83 s = 1.50 2 33.83 1.50 t = 15.17 s = 0.83 3? 49.00 1.71 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 31
Z Values and Probabilities PERT Assessment For each node that has a target date, T Expected Date z = T - t e s The z value can be converted to a probability of not meeting the target date using Z graph 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 32
Probability of Not Meeting the Target Date vs. Z Value for a Normal Distribution 100 90 80 70 60 50 40 30 20 10 0 Probability of not meeting target date (%) -3.25-3.00-2.75-2.50-2.25-2.00-1.75-1.50-1.25-1.00-0.75-0.50-0.25 0.00 0.25 0.50 0.75 1.00 1.25 1.75 2.00 2.25 2.50 2.75 3.00 3.25 Z value 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 33
A Comparison of CPM and PERT Charts PERT is event oriented, which can be considered milestones CPM emphasizes activities PERT is more likely to be used in projects that have relatively high levels of uncertainty PERT, explicit treatment of probability for its time estimates CPM does not Either network approach should have a minimum of about 20 events networks that are not computerized o should be limited to less than 100 events 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 34
Gantt Charts In use since the early 1900 s Shows activities as bar charts with start and completion times Depicts start and stop times relative to calendar and milestones Typically used for high-level planning but may also show detailed tasks Represents overlap between activities May show progress (status) 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 35
Gantt Charts A Gantt or bar chart is frequently used for smaller projects Usually, less than 25 activities Gantt charts are easier to understand than a PERT chart or CPM Weeks Task 1 2 3 4 5 6 7 8 A B A 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 36
Full Wall Charts Full wall charting uses a wall sized chart having an entire project team gather to schedule a project at one time using post-its to represent activities and milestones Post-its are rearranged until the schedule is optimized Full wall charting requires all participants to be in the same room at the same time not suitable for geographically dispersed team members 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 37
Selecting a Scheduling Technique Criteria Milestone Gantt Full Wall CPM PERT Activities v. Event Oriented Events Activity Event Activity Event Suitability for Large Projects Poor Poor Fair Excellent Excellent Suitability for Small Project Good Good Poor Poor Poor Degree of Control Very Low Low Moderate High Highest Acceptance by unsophisticated user Best Excellent Good Fair Poor Ease of Assembly Easiest Easy Hardest Hard Harder Degree of Flexibility Lowest Low Moderate High Highest Ease of Manual Calculation Easiest Easy Moderate Hard Hardest Accuracy of Projection Fair Fair High Higher Highest Cost to Prepare and Maintain Lowest Low Highest High Higher Vague Project Scope Poorest Poor Fair Good Excellent Complex Project Logic Poorest Poor Better Excellent Excellent Critical Completion Date Fair Fair Good Good Excellent Freq t Progress Check Req d Good Good Good Fair Hard Frequent Updating Req d Easiest Easy Hardest Hard Harder Frequent Logic Changes Req d Poor Poor Poor Fair Fair Appeal to Client Good Good Excellent Excellent Excellent 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 38
Resource Allocation Match the activity plan to available resources Labor, equipment, funding,... Personnel Resource Allocation Develop a resource schedule o Resource requirements over time Develop a cost schedule o Planned cumulative expenditure over time 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 39
Staffing Curves Staffing is not constant with time; there is typically a buildup, peak, and decline in personnel level large projects Average Person Level Small projects typically have flatter manpower curves than larger projects intermediate projects small projects Percent of Schedule Completed 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 40
How Programmers Spend Their Time Read Programs & manuals 16% Developing programs 13% Job communication 32% Mail, miscellaneous documents 5% Training 6% Miscellaneous (walking, offsite,... ) 15% Personal 13% 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 41
Allocating HR People: They come with different skill sets. o The task is to match the skill sets with the tasks Skills Skills Activities Activities Needs Inventory + Staff = Staff Skills Inventory Staff Assignments 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 42
Revisit the 4 Module Project Phase 1 Phase 2 Phase 3 Phase 4 Phase 5 Phase 6 A A A overall system B C Check specifications B C B C Integrate/ test system D D D 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 43
Resource Requirements: The 4 Module Project Phase Activity Skills Duration (days) All Project Mgr. 104 1 1 overall Senior analysts 34 2 2 A Analyst/designer 20 3 B Analyst/designer 15 4 C Analyst/designer 25 5 D Analyst/designer 15 3 6 Check-specification Senior analyst 2 4 7 A Analyst/designer 7 8 B Analyst/designer 6 9 C Analyst/designer 4 10 D Analyst/designer 4 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 44
Resource Requirements vs. Activity Plan Assuming Earliest Start Date Week Number 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 2 3 4 No. Personnel Activities 5 6 7 8 9 10 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 45
Earliest Start Date Scheduling Often Leads to Inefficiencies Earliest start date scheduling frequently creates resource loadings that start with a peak and tail off Changing the level of personnel over time generally adds cost to a project o o Recruiting costs Training costs Key people may be idle for periods of time Ideal resource loading will be smooth with, possibly an initial build-up and phased run-down 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 46
Smoothing Resource Requirements: Activities Rescheduling Week Number 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 No. Personnel Activities 2 2 3 55 44 3 2 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 47
Cost Schedule Converting a resource schedule to a time-phased Budget Identify required personnel Cumulative Cost 5 10 Cost Schedule o by name and labor rate Skills Skills Activities Activities Needs Inventory + Staff = Staff Skills Inventory Staff Assignments Factor in overhead rates o travel, equipment costs, etc. Usually overheads are a % of direct labor costs Convert personnel loading vs. time to budget loading vs. time 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 48
Snippet of Cumulative &Weekly Costs: 4 Module Project Week Number 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 $100K $75K/15 $50K/10 $25K/5 Cumulative Cost /Weekly Cost 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 49
Project Management: The Control panel Activity Plan A A A PERT Assessment overall system B C Check specifications B C B C Integrate/ test system Expected Date D D D Personnel Resource Allocation Cumulative Cost 5 10 Cost Schedule 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 50
Smoothing Resource Requirements: Activities Rescheduling Week Number 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 No. Personnel Activities 2 5 4 3 2 22 Nov., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa 51