Software Project Management

Slides:



Advertisements
Similar presentations
© The McGraw-Hill Companies, Software Project Management 4th Edition Activity planning Chapter 6.
Advertisements

Work Breakdown Structures
F O U R T H E D I T I O N Project Management © The McGraw-Hill Companies, Inc., 2003 supplement 3 DAVIS AQUILANO CHASE PowerPoint Presentation by Charlie.
 Chapter 6: Activity Planning – Part 1 NET481: Project Management Afnan Albahli.
3-1 © Prentice Hall, 2004 Chapter 3: Managing the Object-Oriented Information Systems Project Object-Oriented Systems Analysis and Design Joey F. George,
© 2005 by Prentice Hall Chapter 3 Managing the Information Systems Project Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F.
Advanced Project Management - CPH
Project Scheduling Tools As part of CSA3040 © 2003, 2004 – Dr. Ernest Cachia.
Defining activities – Activity list containing activity name, identifier, attributes, and brief description Sequencing activities – determining the dependencies.
© 2008 by Prentice Hall 3-1 ITCS311 Systems Analysis and Design Dr. Taher Homeed Feb 2010 Department of Computer Science College of IT University of Bahrain.
Creating the Project Plan
CS3500 Software Engineering Project Management (1) In 1986 one well-known software engineer (Tom DeMarco) made the simple but important observation: “You.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 3.1.
Chapter 6 Activity Planning McGraw-Hill Education ISBN
CS3773 Software Engineering Lecture 8 Software Planning and Estimation.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 3.1.
Importance of Project Schedules
Chapter 3 Managing the Information Systems Project
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Roberta Russell & Bernard W. Taylor, III
Software project management (intro)
The BIM Project Execution Planning Procedure
Chapter 6: Activity Planning – Part 2
© 2006 ITT Educational Services Inc. System Analysis for Software Engineers: Unit 5 Slide 1 Chapter 3 Managing the Information Systems Project.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Essentials of Systems Analysis and Design Fourth Edition Joseph S. Valacich Joey F.
Copyright © 2013 Pearson Education, Inc. Publishing as Prentice Hall Essentials of Systems Analysis and Design Fourth Edition Joseph S. Valacich Joey F.
© 2005 by Prentice Hall 3-1 Chapter 3 Managing the Information Systems Project Modern Systems Analysis and Design Fourth Edition.
BSBPMG402A Apply Time Management Techniques 1 Apply Time Management Techniques Week 6 Project Time Processes – Part 2 C ertificate IV in Project Management.
BSBPMG503A Manage Project Time Manage Project Time Unit Guide Diploma of Project Management Qualification Code BSB51507 Unit Code BSBPMG503A.
Copyright 2006 John Wiley & Sons, Inc. Beni Asllani University of Tennessee at Chattanooga Project Management Operations Management - 5 th Edition Chapter.
Successful IT Projects slides © 2007 Darren Dalcher & Lindsey Brodie Successful IT Projects By Darren Dalcher & Lindsey Brodie
ENGM91 ACTIVITY PLANNING Unit 2
BIS 360 – Lecture Two Ch. 3: Managing the IS Project.
Software Engineering Saeed Akhtar The University of Lahore Lecture 8 Originally shared for: mashhoood.webs.com.
1IT Project Management, Third Edition Chapter 6 Chapter 6: Project Time Management.
Project Management Copyright © 2015 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill.
Software Project Management
Step Wise Project planning. An overview of Step Wise Project planning.
University of Sunderland CIFM02 Unit 4 COMM02 Project Planning Unit 4.
University of Sunderland CIF 301 Unit 4 CIF 301 Project Planning Unit 4.
1 emeronTI 3 kareFVIEpnk arKMerag Project Planning.
PMI-Planning Process Group Lecture 08 Ms Saba Sahar.
Project Management Project Planning. PLANNING IN PROJECT ENVIRONMENT Establishing a predetermined course of action within a forecasted environment WHY.
Software Project Management
© The McGraw-Hill Companies, Software Project Management 4th Edition Step Wise: An approach to planning software projects Chapter 2.
Software project management (intro)
Information Systems System Analysis 421 Chapter 3 Managing the Information Systems Project.
Chapter 3 Managing the Information Systems Project
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Chapter 3 Managing the Information Systems Project 3.1.
University of Sunderland ENGM91 Unit 4 ENGM91 Project Planning Unit 4.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
Projects and Activities Defining activities some assumptions that will be relevant when we start to produce an activity plan. Activities must be defined.
 Chapter 6: Activity Planning – Part 3 NET481: Project Management Afnan Albahli.
Project Management Processes for a Project Chapter 3 PMBOK® Fourth Edition.
 Chapter 6: Activity Planning – Part 2 NET481: Project Management Afnan Albahli.
Copyright 2006 John Wiley & Sons, Inc. Beni Asllani University of Tennessee at Chattanooga Project Management Operations Management - 5 th Edition Chapter.
WEEK 3 Project Planning.
Network planning models These project scheduling techniques model the project's activities and their relationships as a network. In the network, time flows.
Activity Planning. Effort estimation – For whole project – For individual activity Detailed plan – Starting of each activity – End of each activity –
Activity Planning.
ACTIVITY PLANNING AND RISK MANAGEMENT
Software Development & Project Management
Software Project Management
SOFTWARE PROJECT MANAGEMENT
Software Project Management 4th Edition
Chapter 6 Activity Planning.
Importance of Project Schedules
Chapter 6 Activity Planning.
Chapter 3 Managing the Information Systems Project
Presentation transcript:

Software Project Management Lecture 4 Software Project Planning

Overview Step Wise project planning framework Preparation of a software project plan Planning and scheduling the activities in software project management Various approaches towards activity plan Various scheduling techniques such as sequencing and CPM Software Project Management

Step Wise – An Overview Select project 1 Identify project scope Select project 1 Identify project scope and objectives 2 Identify infrastructure 3 Analyse project characteristics to next slide Software Project Management

Step Wise – An Overview (cont’d) 4 Identify the products and activities 5 Estimate efforts for activity 6 identify activity risks For each activity from previous slide to next slide Review Lower level detail from next slide Software Project Management

Step Wise – An Overview (cont’d) 7 Allocate resources 8 Review/ publicize plan 9 Execute plan 10 Lower level planning to previous slides from previous slide Software Project Management

Step Wise – An Overview (cont’d) Step 0: Select project Step 1: Identify project scope and objectives Step 2: Identify project infrastructure Step 3: Analyze project characteristics Step 4: Identify project products and activities There are many different approaches for project planning. For example, PRINCE2 is the set of project management standards for use on British government IT projects. It is published by the Central Computing and Telecommunications Agency (CCTA). Step 0: Aim is to decide whether a project is worth undertaking. A project is initiated somehow. This is not a planning activity. It may need to decide whether the project is worth undertaking It may need to evaluate the project. Project evaluation has been studied in Lecture 3. Step 1: Aim is to have a well defined project scope and objectives. Managers need to ensure that all members are clear about the project and its objectives; and are committed to the success of the project. Step 2: Aim is to know the precise nature of the project infrastructure Step 3: Aim is to ensure the use of appropriate methods for the project Step 4: Aim is to have a more detailed planning of the individual activities that will be needed Software Project Management

Step Wise - An Overview (cont’d) Step 5: Estimate effort for each activity Step 6: Identify activity risks Step 7: Allocate resources Step 8: Review/publicize plan Step 9: Execute plan Step 10: Execute lower levels of planning Both steps 9 and 10 need detailed planning of each activity as the project is executed. Software Project Management

Step 1: Identify Project Scope and Objectives Step 1.1 Identify objectives and practical measures of the effectiveness in meeting those objectives Step 1.2 Establish a project authority To ensure the unity of purpose among all persons concerned Further activities in each step. Software Project Management

Step 1: Identify Project Scope Objectives (cont’d) Step 1.3 Identify all stakeholders in the project and their interests Step 1.4 Modify objectives in the light of stakeholder analysis Step 1.5 Establish methods of communication between all parties Software Project Management

Step 2: Identify Project Infrastructure Step 2.1 Identify relationship between the project and strategic planning To determine the order of related projects (in the organization) being carried out To establish a framework within which the system fits To ensure the hardware and software standards are followed Step 2.1 The organization needs to decide the order of the projects being carried out Should give examples to emphasis the importance of the order. 2. establish a framework within which the proposed system fits 3. ensure the hardware and software standards are followed so that various systems can communicate with each other All these should be documented. Software Project Management

Step 2: Identify Project Infrastructure (cont’d) Step 2.2 Identify installation standards and procedures more appropriate name: “Identify standards and procedures related to the software project” Step 2.3 Identify project team organization Step 2.2 Elaborate the following standards 1. software development procedures and standards 2. quality procedures and standards 3. change control and configuration management standards 4. project planning and control standards Step 2.3 It is quite often that the organisation has some control over the "overall structure" of the project team. However, if project manager does have some control, this would be considered at a later stage in resource allocation, which will be discussed in Lecture 8. Software Project Management

Step 3: Analyse Project Characteristics Step 3.1 Distinguish the project as either objective-driven or product-driven Step 3.2 Analyse other project characteristics (including quality-based ones) Step 3.3 Identify high level project risks Step 3.4 Take into account user requirements concerning implementation Step 3.1 As system development advances, it tends to become more product-driven, although the underlying objectives always remain and must be respected. Step 3.2 The nature of the system An information system or a process control system? or both? A safety-critical system or not? Step 3.3 Consider those risks that affect the successful outcome of the project Where? Possibly the following: the operational or development environment, the technical nature of the project the type of product being developed Step 3.4 Sometimes, the client's organisation may have their own stadnards and procedures. An example may be that departments in government may require the use of SSADM (Structured System Analysis and Design Methodology). Another example may be that DoD (Department of Defense) has their own standards and procedures. Software Project Management

Step 3: Analyse Project Characteristics (cont’d) Step 3.5 Select general lifecycle approach in the light of the above Step 3.6 Review overall resource estimates Up to this stage, the major risks of the project are identified the overall approach of the project is decided So, it is a good place to re-estimate the required effort and other resources for the project Step 3.5 If user requirements are unclear, a prototyping approach might be used. Step 3.6 A benefit is to give you a better understanding on the current situation. Software Project Management

Step 4: Identify Project Products and Activities Step 4.1 Identify and describe project products Identify all the products related to the project Account for the required activities Step 4.2 Document generic product flows To document the relative order of the products Step 4.3 Recognize product instances Step 4.1 The products to be identified include a large number of technical products including training material and operating instructions, as well as those related to the management and quality of the project. Software Project Management

Step 4: Identify Project Products and Activities(cont’d) Step 4.4 Produce an ideal activity network Activity network shows the tasks that have to be carried out as well as their sequence of execution for the creation of a product from another Step 4.5 Modify the ideal to take into account need for stages and checkpoints To check compatibility of products of previous activities Software Project Management

Step 5: Estimate Effort for Each Activity Step 5.1 Carry out bottom-up estimates need to estimate staff effort, time for each activity, and other resources Step 5.2 Revise plan to create controllable activities need to break a task into a series of manageable sub-tasks Step 5.1 Different estimation methods may be used depending on the type of activity. Calculate the overall duration of project based on the estimated time for each activity in the activity network. Step 5.2 If an activity involving system testing requires 12 weeks, it is better to break the activity into a series of sub-tasks. Software Project Management

Step 6: Identify Activity Risks Step 6.1 Identify and quantify the risks of each activity Step 6.2 Plan risk reduction and contingency measures where appropriate Step 6.3 Adjust overall plans and estimates to take account of risks Software Project Management

Step 7: Allocate Resources (Staffing) Step 7.1 Identify and allocate resources type of staff needed for each activity staff availabilities are identified staff are provisionally allocated to task Step 7.2 Revise plans and estimates to take into account resource constraints staffing constraints staffing issues Step 7.1 Staff expertise should be considered. Software Project Management

Step 8: Review/publicize Plan Step 8.1 Review quality aspects of the project plan To ensure each activity is completed with a quality product Each activity should have ‘exit requirements’. This ensures the quality of the product on each activity. Software Project Management

Step 8: Review/publicize Plan (cont’d) Step 8.2 Document plans and obtain agreement all parties understand and agree to the commitments in the plan Software Project Management

Aside – When to plan Planning is an on-going process of refinement Planning at different stages of the project has different emphases and purposes Refinement: It is because we have better understandings on the whole project as we go along. Thus, we need to keep revising our plan so as to bring the project on the right track. Throughout the whole project, we need to monitor the project and revise our plan if there is any drift that prevents the project being completed on time and within budget. ‘drift’ means anything that is floating around. Feasibility study and project start-up: Estimate time and the risks of not achieving the target nor keeping within budget After the feasibility study: Produce activity plans for ensuring resource availability and cash flow control Software Project Management

Project Vs Activity A project is composed of a number of related activities A project may start when at least one of its activities is ready to start A project will be completed when all of its activities have been completed Software Project Management

Project Vs Activity (cont’d) An activity must have a clear start and a clear stop An activity should have a duration that can be forecasted Some activities may require that other activities are completed before they can begin Software Project Management

Activity Planning A project plan is a schedule of activities indicating the start and stop for each activity Also provide the project and resource schedules The start and stop of each activity should be visible and easy to measure Each activity should have some ‘deliverables’ for ease of monitoring Software Project Management

Activity Planning (cont’d) During planning, managers consider: Resource availability Resource allocation Staff responsibility Project Monitoring Cash flow forecasting Re-planning of the project towards the pre-defined goal Resource available: Make sure the resources are there when needed Resource allocation: Make sure there are no competing resources. Staff responsibility: Schedule showing which staff carry out each activity Project Monitoring: Measure the actual achievement Cash flow forecasting:Produce a timed cash flow forecast Re-planning of the project towards the pre-defined goal:re-plan the project so that it will correct drift from the target. Software Project Management

Other Objectives of Activity Planning Feasibility assessment Resource allocation Detailed costing Motivation Co-ordination Once a detailed activity plan is finished, it can be used to achieve the following: Feasibility assessment: Can the project be delivered on time and within budget (constraints)? Resources allocation: How to allocate the resources with best results? When should those resources be ready? Detailed costing: A detailed estimates on the project cost and the timings. A detailed forecast on when the expenditure is likely to take place. Motivation: Providing targets and being able to monitor the achievement of the targets at the end of the activity can be a good strategy to motivate staff. Co-ordination: Help to set the time and requirements of staff from different departments to work together in the project, if necessary Provide a good way for the project teams to communicate, cooperate and collaborate among themselves Software Project Management

Different Levels of Plans Project Schedule: a plan that shows 1. the dates when each activity should start and stop 2. when and how much of the resources will be required Activity Plan: a plan that describes how each activity will be undertaken The activity plan is done in Steps 4 and 5 of Step Wise framework. Software Project Management

Project Schedule in 4 Stages Ideal Activity Plan An activity plan without any constraints Risk consideration for each activity Resource consideration for whole project Schedule production and publication The word ‘public’ here means those people that are involved in the project. Risk and Resource consideration will be discussed in Lectures 5 and 6, respectively. Software Project Management

Various Approaches Towards Identifying Activity Activity-based approach Product-based approach Hybrid approach Software Project Management

Activity-based Approach Use Work Breakdown Structure (WBS) to generate a task list WBS involves identifying the main tasks break each main task down into subtasks The subtasks can further be broken down into lower level tasks. Creating a list of activities that the project is thought to involve. This includes brainstorming from team members and analysis of past projects. For a large software project, it is good to subdivide the project into the main life cycle phases and list the activities accordingly. Issues in WBS: If there are too many levels, there will be a large number of small tasks. This will be difficult to manage. If there are too little levels (the WBS is too shadow), the details for project control would be insufficient. Ideally, each leaf (the lowest level task) of a WBS may be assigned to an individual or a responsible section. Software Project Management

Activity-based Approach (cont’d) Software Project Management

Activity-based Approach (cont’d) Advantages More likely to obtain a task catalogue that is complete and is composed of non-overlapping tasks WBS represents a structure that can be refined as the project proceeds The structure already suggests the dependencies among the activities Early WBS may use some high level tasks, which can be detailed later. Software Project Management

Activity-based Approach (cont’d) Disadvantage Very likely to miss some activities if an unstructured activity list is used Software Project Management

Product-based Approach Product Breakdown Structure (PBS) To show how a system can be broken down into different products for development Product Flow Diagram (PFD) To indicate, for each product, which products are required as ‘inputs’ PRINCE2 and Step Wise use this approach. See Figure 6.3 in Hughes book (p.113) for an example of product breakdown. Software Project Management

Product-based Approach (cont’d) Advantages Less likely to miss a product unexpectedly from a PBS Software Project Management

Product-based Approach – An example Software Project Management

Hybrid Approach A mix of the activity-based approach and the product-based approach More commonly used approach The WBS consists of a list of the products of the project; and a list of activities for each product Software Project Management

Hybrid Approach (cont’d) Figure 6.5 of the Hughes book. The degree to which the structuring is based on the product or the activity largely depends on the nature of the project and the particular development method. Software Project Management

Hybrid Approach (cont’d) IBM in its MITP methodology suggests 5 levels Level 1: Project Level 2: Deliverables (software, manuals etc) Level 3: Components Level 4: Work-packages Level 5: Tasks (individual responsibility) MITP: Managing the Implementation of Total Project Components: key work items lead to the production of the deliverables Work-packages: major work items or collection of related tasks to produce a component Software Project Management

Planning and Scheduling the Activities Once we have a project plan (or, project schedule), we need to schedule the activities in a project taking into account the resource constraints We need to put the activities in a project and arrange them in their order taking into account of the resource. Software Project Management

Scheduling Techniques Simple sequencing Suitable for small projects Critical Path Method (CPM) Suitable for large software projects The most commonly used “networking” technique Software Project Management

Simple sequencing A simple sequencing of the tasks and the responsible personnel taken into account of the resources Easily presented in a simple bar chart see figure 6.6 in Hughes book Suitable for allocating individuals to particular tasks at an early stage Software Project Management

Critical Path Method (CPM) Primary objectives: Planning the project so that it can be completed as quickly as possible Identifying those activities where their delays is likely to affect the overall project completion date Developed by Du Pont Chemical Company and published in 1958 Besides the simple sequencing technique, various networking techniques are proposed. Other networking techniques are very similar to CPM. It is claimed by Du Pont Chemical Company that CPM saves $1,000,000 in its first year of use. Software Project Management

Critical Path Method (cont’d) Capture the activities and their inter-relationships using a graph Lines are used to represent the activities Nodes are used to represent the start and stop of activities Dummy activities (dotted lines) can be used to: Avoid logical errors to paths Document related activities that can be done in parallel and have a time lag Software Project Management

Critical Path Method (cont’d) Adding time dimension The forward pass calculate the earliest start dates of the activities To calculate the project completion date The backward pass calculate the latest start dates for activities identify the critical path from the graph In CPM, each activity has a time estimate. Software Project Management

Critical Path Method (cont’d) Identifying critical path and critical event Critical event: an event that has zero slack Critical path: a path joining those critical events Slack: measures how late an event may be without affecting the overall target date of the project slack = latest start date – earliest start date (for an event) Any delay of the critical events will delay the project There is always at least one critical path in the CPM network. Software Project Management

Example to construct a CPM Id. Activity Name Duration (weeks) Precedents A Hardware selection 7 B Software design 4 C Hardware Installation 6 D Coding E Data Preparation 5 F User Documentation 9 G User Training E,F H System Installation 3 C,D Software Project Management

Example to construct a CPM (cont’d) Event Number 3 6 7 1 Earliest start date Latest start date Slack Software Project Management

Example to construct a CPM (cont’d) 1 2 7 3 6 4 13 5 11 9 16 A=7 B=4 D=4 C=6 H=3 F=9 G=5 E=5 Software Project Management

= latest start date – earliest start date Activity Float Time allowed for an activity to delay 3 different types: Total float (without affecting the completion of the project) = latest start date – earliest start date Free float (without affecting the next activity) = earliest start date of next activity – latest end date of previous activity Interfering float (= total float - free float) Total float can be used up once. Free float can be used up separately. However, whenever any float is used, the overall timing of the project is changed. Teachers should distinguish between overall timing of the project and overall duration of the project. The overall timing of a project should includes the activities and the duration of each activities. A recalculation of the CPM is need. Software Project Management

Significance of critical path During planning stage Shortening the critical path will reduce the overall project duration During management stage Pay more attention to those activities which fall in the critical path Actually, it is the shortening of the critical activity by putting more resources in it. The CPM allows you to identify what to shorten. However, it does not tell you how to. Software Project Management

References Hughes, B., and Cotterell, M. (1999) Software Project Management, 2nd edition, McGraw-Hill. Pfleeger, S.L. (1998) Software Engineering: Theory and Practice, Prentice Hall. Software Project Management