Project Planning What are you going to do in the project? 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 1 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 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 3 TCS2411 Software Engineering 4 Project Planning and Control System Planning Steps Goals/ Objectives Management Decision- Making System Reports Work Description and Instructions Time/Cost/ Performance Tracking Network Scheduling Master/ Detailed Schedules Budgets 1. Establish objectives 2. Develop a plan 3. Construct project planning diagram 4. Identify timing duration of each activity in planning diagram 5. Identify costs and labor/personnel associated with each activity TCS2411 Software Engineering 5 TCS2411 Software Engineering 6 1
Establish Objectives Develop A Plan 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 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 Manageable Independent Integratable Measurable Purpose of WBS TCS2411 Software Engineering 9 TCS2411 Software Engineering 10 WBS Example WBS of a simple project Level 1 Level 2 ABC Project Project Design Test plan Code Test Definition Analysis Design Programming... Code A Code B Level 3 Requirements Documentation Feasibility Study Risk Analysis TCS2411 Software Engineering 11... 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 2
Design 15 Program Evaluation and Review Technique (PERT) diagram Test plan 10 Code A 18 Code B 18 Test 15 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) 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 15 TCS2411 Software Engineering 16 Activity-on-Arrow (AOA) Diagram 1 A C B D 2 5 3 4 Each activity has only one arrow associated with it. E F G 6 Activity Precedence Activity Immediate Duration Predecessor A - 2 B - 1 C - 3 D A 2 E B,C 4 F C 5 G D,E 3 TCS2411 Software Engineering 17 TCS2411 Software Engineering 18 3
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 CPM Construction Time and Cost Uses deterministic time estimates AON based Critical path & slack Used in most software TCS2411 Software Engineering 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 Project Planning Summary B A C D E Objectives Scope Specs WBS Organizational Structure Responsibility Chart Technical Criteria Documentation Project Plan G F time Milestone TCS2411 Software Engineering 23 Work Packages Networks Material & Manpower Schedules TCS2411 Software Engineering 24 4
Decision Tree Analysis The Make-Buy Decision simple (0.30) $380,000 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 system X build contract reuse buy major changes (0.60) difficult (0.70) minor changes (0.40) simple (0.20) complex (0.80) minor changes major changes (0.30) TCS2411 Software Engineering 26 (0.70) without changes (0.60) with changes (0.40) $450,000 $275,000 $310,000 $490,000 $210,000 $400,000 $350,000 $500,000 Computing Expected Cost expected cost = (path probability) x (estimated path cost) i i For example, the expected cost to build is: expected cost = 0.30($380K)+0.70($450K) build = $429 K similarly, expected cost reuse = $382K expected cost buy = $267K expected cost contr = $410K END References TCS2411 Software Engineering 27 TCS2411 Software Engineering 28 5