Project Plan “What are you going to do in the project?” TCS2411 Software Engineering 1 Lecture Objectives To discuss the tasks in planning a project To describe the tools that can be used for developing a project plan To illustrate the use of graphical representations of project activities To understand the importance of the critical path in scheduling TCS2411 Software Engineering 2 Planning Meaning: “Organizing project in logical order and Identifying and defining work activities in a manner that help achieve project objectives” TCS2411 Software Engineering 3 Basic Reasons for Planning To element/reduce uncertainty To improve efficiency of the operation To provide better understanding To provide a basis for monitoring and controlling work TCS2411 Software Engineering 4 Project Planning and Control System Goals/ Objectives Work Description and Instructions Master/ Detailed Schedules Management DecisionMaking System Reports TCS2411 Software Engineering Network Scheduling Time/Cost/ Performance Tracking Budgets 5 Planning Steps 1. 2. 3. 4. Establish objectives Develop a plan Construct project planning diagram Identify timing duration of each activity in planning diagram 5. Identify costs and labor/personnel associated with each activity TCS2411 Software Engineering 6 Establish Objectives State objectives Project start/end dates Budgets Technical results List milestones Milestone: a scheduled event for which some person is held accountable and which is used to measure and control progress. Designate responsible personnel to meet objectives TCS2411 Software Engineering 7 Develop A Plan List activities Develop Work Breakdown Structure (WBS): The WBS reflects the decomposition of a project into subtasks down to the level for effective planning and control. Determine relationships of activities job precedence/succession concurrent jobs TCS2411 Software Engineering 8 Work Breakdown Structure Break project tasks into successively finer levels: Program - Project - Task - Work Package - Work Unit Each work unit short time span specific start & end point budgetable in terms of money, resources can be assigned an individual responsibility can be scheduled TCS2411 Software Engineering 9 Purpose of WBS Manageable Independent Integratable Measurable TCS2411 Software Engineering 10 WBS Example Level 1 ABC Project Level 2 Definition Analysis Design Programming ... Level 3 Requirements Documentation TCS2411 Software Engineering Feasibility Study Risk Analysis ... 11 WBS of a simple project Project Design Test plan Code A Test Code Code B •Each activity has a duration and consumes resources. •Each activity has a constraint(example: one must be finished before the other starts; so activities are executed in order). TCS2411 Software Engineering 12 Program Evaluation and Review Technique (PERT) diagram Test plan 10 Design 15 Code A 18 Test 15 Code B 18 •The numerical number represents the duration of each activity. •PERT is mainly concerned with time of each activity and interrelations among activities. TCS2411 Software Engineering 13 Critical Path Method (CPM) By drawing a network diagram, you can figure out the critical path of your project. The critical path is the longest path through the network. If something falls behind schedule on the critical path, the whole project falls behind schedule unless time is made up elsewhere. It’s easier to adjust other activities (allocate more/less resources) when you know the interdependencies of activities TCS2411 Software Engineering 14 Construct Project Planning Diagram Draw the logical sequence of activities Precedence Diagramming Method (PDM) Activity on Node (AON) Arrow Diagramming Method (ADM) Activity on Arrow (AOA) TCS2411 Software Engineering 15 Terms Activity - A task or job which takes time & use up resources Represented by labeled arrow A Event - An instantaneous point representing the start or finish of an activity Represented by node 1 Slack time: indicates that the corresponding activity may consume more than its estimated time, or start later than the earliest possible start time, without affecting the total duration of the project. Critical path: a path that has activities without any slack time TCS2411 Software Engineering 16 Activity-on-Arrow (AOA) Diagram 2 A 5 G E B 1 D 3 6 F C 4 Each activity has only one arrow associated with it. TCS2411 Software Engineering 17 Activity Precedence Activity A B C D E F G TCS2411 Software Engineering Immediate Predecessor A B,C C D,E Duration 2 1 3 2 4 5 3 18 Network Characteristics Construct from left to right Any activity can have only one start node No two activities can have the same start and end node Dummy activities are used in AOA Start the network by finding those activities that have no predecessors Calculate activity times using probabilistic or deterministic means TCS2411 Software Engineering 19 Dummy Activity Represented by dotted arrow Used when relationships between activities require no work Applied when two activities start and end similarly succeeding activities have partial dependencies on predecessor activities TCS2411 Software Engineering 20 PERT and CPM PERT R&D Development Originally focused on time only Uses probabilistic time estimates AOA based Critical path & slack TCS2411 Software Engineering CPM Construction Time and Cost Uses deterministic time estimates AON based Critical path & slack Used in most software 21 GANTT Charts Horizontal time representation of PERT/CPM, aka Timeline charts Slack times shown as dashed lines Critical path events are often milestones Inadequate for showing dependencies PERT/CPM is required to control the schedule Can be used as a scheduling mechanism. TCS2411 Software Engineering 22 Gantt Chart Example A D B C E G F Milestone TCS2411 Software Engineering time 23 Project Planning Summary Objectives Scope Specs Organizational Structure Technical Criteria Documentation WBS TCS2411 Software Engineering Responsibility Chart Project Plan Work Packages Material & Manpower Networks Schedules 24 Decision Tree Analysis Software engineering managers are often faced with a make/buy decision to acquire a computer software. This decision can be solve by computing Decision Tree Analysis. Example : System X, can be build (inhouse developer), reuse, buy or contract (employees outside vendor). TCS2411 Software Engineering 25 The Make-Buy Decision TCS2411 Software Engineering 26 Computing Expected Cost expected cost = (path probability) x (estimated path cost) i i For example, the expected cost to build is: expected cost build = 0.30($380K)+0.70($450K) = $429 K similarly, expected cost reuse = $382K expected cost buy = $267K expected cost contr = $410K TCS2411 Software Engineering 27 References “Software Engineering: A Practitioner’s Approach” 5th Ed. by Roger S. Pressman, Mc-Graw-Hill, 2001 “Project Management: A Managerial Approach” by Jack R. Meredith & Samuel J. Mantel, Jr. , John Wiley, 1989 “Project Management: Principles and Practices” by M. Pete Spinner, Prentice-Hall, 1997 “Goal Directed Project Management”, 2nd Edition, by Erling S. Andersen, Kristoffer V. Grude & Tor Haug, Kogan Page, 1995 TCS2411 Software Engineering 28