Project Planning and Scheduling
Total Page:16
File Type:pdf, Size:1020Kb
Objectives Project planning and 1. Introduce project planning scheduling 2. Examine the stages of project planning: Scoping Project Planning Estimation Mel Rosso-Llopart Risk Analysis ([email protected]) Scheduling 3. Focus on some of the tools and techniques available to a project planner Version 1.1 © Carnegie Mellon, 2005 1 Version 1.1 © Carnegie Mellon, 2005 2 Topics Software Project Planning Goal is to establish a pragmatic strategy for controlling, Planning tracking, and monitoring a complex technical project Must deal with: Estimation of tasks Project complexity: has a strong effect but is heavily Cost and time influenced by past practitioner experience Project size: as size increases the interdependency of Planning and risk elements also grows. Watch out for scope creep (when customers change requirements mid-cycle) Scheduling and why projects are late The degree of structural uncertainty: the degree to which requirements are solidified and the ease of functional Scheduling and planning tools decomposition The purpose of project planning is to ensure that the end Project tracking result is completed on time, within budget, and exhibits quality! Version 1.1 © Carnegie Mellon, 2005 3 Version 1.1 © Carnegie Mellon, 2005 4 Steps in Project Planning Scope Project Scope A bounded description of the data and control, function, Estimates Software performance, constraints, interfaces and reliability Risks Project Sufficient to determine project feasibility and create an Schedule Plan initial plan Control strategy Scoping Techniques: FAST (Facilitated Application Specification Technique), QFD (Quality Scope — understand the problem and the work that must be done. Function Deployment), Use-Cases Estimation — how much effort? how much time? Scope is affected by: Risk — what can go wrong? how can we avoid it? what can we do about it? Customers’ needs Schedule — how do we allocate resources along the timeline? Business context what are the milestones? Project boundaries Control strategy — how do we control quality? how do we control Customers’ motivation change? Likely paths for change Version 1.1 © Carnegie Mellon, 2005 5 Version 1.1 © Carnegie Mellon, 2005 6 Page 1 Estimating Resources Estimating Resources - 2 Human Resources: Environmental Resources: Select skills required (both position and specialty, e.g. database The hardware and software tools required to develop software engineer). Requires an effort estimate the project. Planner needs to provide a time window Reusable Software Resources: for booking them Off-the-shelf components (existing software acquired from 3rd party with no modification required) Full-experience components (previous project code is similar and team members have full experience in this application area) Partial-experience components (existing project code is related but requires substantial modification and team has limited experience in the application area) New components (must be built from scratch for this project) Version 1.1 © Carnegie Mellon, 2005 7 Version 1.1 © Carnegie Mellon, 2005 8 Estimating Cost and Effort Risk Analysis and Management Project scope must be explicitly defined. If not, the Definition of Software Risk: project may be infeasible Concerns future happenings. What risks might Task and/or functional decomposition is necessary cause the project to go astray? Historical measures (metrics) are very helpful Involves change. How will changes in customer Triangulation: At least two different techniques should requirements, development technologies, target be used. Can be reconciled if they are within 20% computers, and other entities affect timeliness Remember that uncertainty is inherent in early estimates and success? Viable Techniques: Requires choice. What methods and tools should 1. Delay estimation until later in the project (XP approach) be used, how many people should be involved to 2. Base estimates on similar projects that have already been completed reduce risk? 3. Use relatively simple decomposition techniques (LOC or FP) Version 1.1 © Carnegie Mellon, 2005 9 Version 1.1 © Carnegie Mellon, 2005 10 Risk Analysis and Management-2 Risk Management Paradigm Questions: What can go wrong? control What is the likelihood? What will the damage be? track What can we do about it? RISK identify plan analyze Version 1.1 © Carnegie Mellon, 2005 11 Version 1.1 © Carnegie Mellon, 2005 12 Page 2 Risk (3xM) Mitigation, Monitoring, and Management Scheduling Mitigation — how can we avoid the risk? “I love deadlines. I love the whooshing sound they make as they fly by .” – Douglas Adams Monitoring — what factors can we track that will enable us to determine if the risk is The Schedule connects the scope, work estimates becoming more or less likely? and deadline into a network of SE tasks Management — what contingency plans do Must Manage: we have if the risk occurs? Parallelism (tasks can be undertaken simultaneously) Dependency (task has an effect on subsequent tasks) Bad Scheduling is a very destructive influence 90-90 Rule: First 90% of a project is complete in 90% of the scheduled time. The other 10% is also completed in 90% of the time Version 1.1 © Carnegie Mellon, 2005 13 Version 1.1 © Carnegie Mellon, 2005 14 Why Are Projects Late? Why Are Projects Late? - 2 An unrealistic deadline established by outsiders Technical difficulties that could not have been Changing customer requirements that are not foreseen reflected in the schedule Human difficulties that could not have been An honest underestimate of effort and/or foreseen resources required Miscommunication among project staff Risks that were not considered when the project Project management failing to recognize schedule started slippage and not taking corrective action Version 1.1 © Carnegie Mellon, 2005 15 Version 1.1 © Carnegie Mellon, 2005 16 Dealing with Unrealistic Tools and techniques for the Deadlines planner “Any commander in chief who undertakes Scheduling to carry out a plan which he considers defective is at fault; he must put forth his PERT – Program Evaluation and Review reasons, insist on the plan being changed, Technique and finally tender his resignation rather Work Breakdown Structure (WBS) than be the instrument of his army’s Gantt Chart – Named after Henry Grant downfall. ” – Napoleon ETVX – How do you track tasks Version 1.1 © Carnegie Mellon, 2005 17 Version 1.1 © Carnegie Mellon, 2005 18 Page 3 Define a Task Network Scheduling Task (Activity) Network: a graphical representation of the task flow and interdependencies for a project Program Evaluation and Review Technique (PERT) AKA Critical Path Method (CPM) is a project scheduling method 1.1 Concept that determines: 1.3a 1.5a Scoping Risk Concept Critical Path ( the chain of tasks that determine the duration Assess. Implement. of the project) Earliest Time that a task can begin if all preceding tasks are 1.2 1.3b 1.4 1.5b completed in the shortest possible time Integrate Concept Risk Concept Concept a, b, c Latest Time for task initiation that will not delay the project Planning Assess. Proof Implement. Latest and Earliest Finish for the overall project 1.3c 1.5c Total Float ( the maximum slippage without overall delay) Risk Concept Implementation: Assess. Implement. 1.6 Automated tools Customer Reaction Often use a task network as input Version 1.1 © Carnegie Mellon, 2005 19 WBS – Work break down structure Gantt chart What has to be done to complete the project A Gantt chart provides a graphical illustration of a All the tasks in the Divide and conquer of the schedule that helps to plan, coordinate, and track problem specific tasks in a project developed in 1917 by Henry L. Gantt Granularity equals level of WBS A Gantt chart is constructed with a horizontal axis First level, high level tasks representing the total time span of the project, Second level are those task that complete the broken down into increments (for example, days, first level weeks, or months) and a vertical axis Very similar to Outline for a paper representing the tasks that make up the project Version 1.1 © Carnegie Mellon, 2005 21 Version 1.1 © Carnegie Mellon, 2005 22 Gantt Chart Planning individual Task Work tasks week 1 week 2 week 3 week 4 w eek 5 I.1.1 Identify need and benefits Meet with customers Identify needs and project constraints expressed as ETVX Establish product statement Milestone: product statement defined I.1.2 Define desired output/control/input (OCI) Scope keyboard functions Scope voice input functions Scope modes of interaction Scope document diagnostics Entry Criteria Scope other WP functions Document OCI FTR: Review OCI with customer Revise OCI as required; Criteria Entry Before starting Exit Criteria Milestone; OCI defined Tasking I.1.3 Define the functionality/behavior Define keyboard functions Define voice input functions Decribe modes of interaction Tasking Decribe spell/grammar check Decribe other WP functions FTR: Review OCI definition with customer Revise as required Validation Milestone: OCI defintition complete I.1.4 Isolate software elements Milestone: Software elements defined Validation I.1.5 Research availability of existing software Reseach text editiong components Exit Criteria Research voice input components Research file management components Research Spell/Grammar check components Milestone: Reusable components identified After finished I.1.6 Define technical feasibility Evaluate voice input Evaluate grammar checking Milestone: Technical feasibility