Software Project Management Lecture # 7. What are we studying today? Chapter 24 - Project Scheduling...

17
Software Project Management Lecture # 7

Transcript of Software Project Management Lecture # 7. What are we studying today? Chapter 24 - Project Scheduling...

Page 1: Software Project Management Lecture # 7. What are we studying today? Chapter 24 - Project Scheduling  Effort distribution  Defining task set for the.

Software Project Management

Lecture # 7

Page 2: Software Project Management Lecture # 7. What are we studying today? Chapter 24 - Project Scheduling  Effort distribution  Defining task set for the.

What are we studying today?

Chapter 24 - Project Scheduling Effort distribution Defining task set for the software project

Project types (related topic) Factors that influence task set selection in a project A task set example Defining a task network Project Scheduling Timeline charts Schedule tracking Earned Value Analysis

Page 3: Software Project Management Lecture # 7. What are we studying today? Chapter 24 - Project Scheduling  Effort distribution  Defining task set for the.

Effort Distribution

A recommended distribution of effort across software process is often referred to as 40-20-40 rule 40% allocated to analysis & design 20% allocated to coding 40% allocated to testing

Use the above as a guideline only as each project dictates its own distribution effort

Page 4: Software Project Management Lecture # 7. What are we studying today? Chapter 24 - Project Scheduling  Effort distribution  Defining task set for the.

Defining Task Set For The Software Project

Task set is a collection of software engineering work tasks , milestones and deliverables that must be accomplished to complete a particular software project.

Task sets are different for different types of projects

Most organizations encounter following types of projects Concept development projects

Explore some new business concept or application of new technology

Page 5: Software Project Management Lecture # 7. What are we studying today? Chapter 24 - Project Scheduling  Effort distribution  Defining task set for the.

Defining Task Set For The Software Project (Contd.)

New application development projects Undertaken as a consequence of specific customer

request

Application Enhancement projects Involve modification to functions, performance or interfaces

(observable by end-user) in existing software

Application maintenance projects That correct, adapt or extend existing software in ways that

may not be obvious to end user

Reengineering projects Undertaken for rebuilding an existing system in whole or

part

Page 6: Software Project Management Lecture # 7. What are we studying today? Chapter 24 - Project Scheduling  Effort distribution  Defining task set for the.

Factors Influencing Task Set Selection in Projects

Size of project Number of potential users Mission criticality Application longevity Stability of requirements Ease of customer/develop communication Maturity of applicable technology Performance constraints Embedded, non embedded characteristics Project staff Reengineering factors These factors also provide an indication of the degree of

rigor with which the software process should be applied

Page 7: Software Project Management Lecture # 7. What are we studying today? Chapter 24 - Project Scheduling  Effort distribution  Defining task set for the.

A Task Set Example Consider software engineering tasks for a Concept

Development project. Such projects are approached by applying the

following major tasks:1.1 Concept scoping

determines overall project scope

1.2 Preliminary concept planning Establishes the organization’s ability to undertake work

implied by project scope

1.3 Technology risk assessment Evaluates risk associated with the technology to be

implemented

1.4 Proof of concept Demonstrates the viability of a new technology in the

software context

Page 8: Software Project Management Lecture # 7. What are we studying today? Chapter 24 - Project Scheduling  Effort distribution  Defining task set for the.

A Task Set Example (Contd.)

1.5 Concept implementation Implements the concept representation in a manner

that can be reviewed by a customer and is used for marketing purposes when a concept must be sold to other customers or management.

1.6 Customer Reaction Concept solicits feedback on a new technology

concept and targets specific customer applications

Page 9: Software Project Management Lecture # 7. What are we studying today? Chapter 24 - Project Scheduling  Effort distribution  Defining task set for the.

Refinement of Major Tasks

The major tasks described earlier may be used to define a macroscopic schedule for project.

The macroscopic schedule must be refined to create a detailed schedule.

For this each major task is decomposed into a set of subtasks (with related work products and milestones)

As an example consider task 1.1 – concept scoping. The refinement is shown on next slide:

Page 10: Software Project Management Lecture # 7. What are we studying today? Chapter 24 - Project Scheduling  Effort distribution  Defining task set for the.

Refinement of Major Tasks (Contd.)

See page 715

Page 11: Software Project Management Lecture # 7. What are we studying today? Chapter 24 - Project Scheduling  Effort distribution  Defining task set for the.

Defining a Task Network

Also known as activity network It is a graphic representation of the

task flow for a project Displays interdependencies and

parallelism Project manager should be aware of

those tasks that lie on the critical path

Page 12: Software Project Management Lecture # 7. What are we studying today? Chapter 24 - Project Scheduling  Effort distribution  Defining task set for the.

A task set network for ‘concept development’

Enables the team to see the essentially serial nature of the project, but take advantage of parallelism where possible.

Enables the team to see the essentially serial nature of the project, but take advantage of parallelism where possible.

1.1 Concept Definition

1.1 Concept Definition

1.2 Project

Planning

1.2 Project

Planning

1.4a Module A Des/Dev

1.4a Module A Des/Dev

1.4b Module B Des/Dev

1.4b Module B Des/Dev

1.5 Integrate & Test

1.5 Integrate & Test

1.6 Concept Demo

1.6 Concept Demo

Page 13: Software Project Management Lecture # 7. What are we studying today? Chapter 24 - Project Scheduling  Effort distribution  Defining task set for the.

Scheduling

Two Project Scheduling methods that can be applied to software development: Program evaluation and review technique (PERT) Critical Path Method (CPM)

Both are driven by Info already developed: Estimates of effort A decomposition of product function The selection of appropriate process model and task

set Decomposition of tasks

Page 14: Software Project Management Lecture # 7. What are we studying today? Chapter 24 - Project Scheduling  Effort distribution  Defining task set for the.

Timeline Charts

When creating software project schedule, the planner begins with a set of tasks (work breakdown structure)

If automated tools are used, the work breakdown is input as a task network

Effort, duration and start date are then input for each task

As a result of this input, a timeline chart or Gantt chart is generated

Page 15: Software Project Management Lecture # 7. What are we studying today? Chapter 24 - Project Scheduling  Effort distribution  Defining task set for the.

Tracking Schedule

Accomplished in a no. of ways Conducting periodic project status meetings in which each

team member reports progress & problems Evaluating results of all reviews conducted throughout the

s/w engg process Determining whether formal project milestones have been

accomplished by scheduled date Comparing actual start date to planned date for each

project task Meeting practitioners to get their assessment of progress

to date and problems encountered Use earned value analysis to assess progress

quantitatively

Page 16: Software Project Management Lecture # 7. What are we studying today? Chapter 24 - Project Scheduling  Effort distribution  Defining task set for the.

Earned Value Analysis (EVA) A quantitative approach for progress analysis of

project Earned value is a measure of progress Steps to determine earned value:

1. The budgeted cost of work scheduled (BCWS) is determined for each work task represented in schedule

2. The BCWS values for all work tasks are summed to derive the budget at completion, BAC• BAC = ∑(BCWSk) for all k tasks

3. Next the value for budgeted cost of work performed (BCWP) is computed. • Its value is sum of the BCWS values for all work tasks that

have actually been completed by a point in time on the project schedule

Page 17: Software Project Management Lecture # 7. What are we studying today? Chapter 24 - Project Scheduling  Effort distribution  Defining task set for the.

EVA (Continued) According to ‘Wilkens’

BCWS represents the budget of activities that were planned to be completed

and BCWP represents the budget of activities that were actually completed

Important progress indicators can be computed based on BCWS, BAC, BCWP values SPI = BCWP/BCWS

Schedule performance index indicates efficiency with which project is using scheduled resources. SPI value 1.0 indicates efficient execution of project schedule

SV = BCWP – BCWS Schedule variance, is simply an absolute indication of variance from planned

schedule CPI = BCWP/ACWP

Cost performance index value close to 1.0 indicates project is within its defined budget

Actual Cost of Work Performed is sum of effort actually expended on work tasks that have been completed by a point in time on project schedule

CV = BCWP – ACWP Cost Variance is an absolute indication of cost savings or shortfall at a

particular stage of project