16
Software Project Management Lecture # 7

Software Project Management

  • Upload
    indiya

  • View
    66

  • Download
    1

Embed Size (px)

DESCRIPTION

Software Project Management. Lecture # 7. Outline. Project Scheduling. Relationship of People and Effort. Putnam-Norden-Rayleigh (PNR) Curve indicates the relationship between effort applied and delivery time for a software project. Mathematical representation of the PNR curve:. - PowerPoint PPT Presentation

Citation preview

Page 1: Software Project Management

Software Project Management

Lecture # 7

Page 2: Software Project Management

Outline

Project Scheduling

Page 3: Software Project Management

Relationship of People and Effort

Putnam-Norden-Rayleigh (PNR) Curve indicates the relationship between effort applied and delivery time for a software project.

Mathematical representation of the PNR curve:

Page 4: Software Project Management

PNR curve was used to derive the software equation

Page 5: Software Project Management

to = delivery time that will result in least effort expended As we move left to to, i.e. as we try to accelerate delivery, curve rises

nonlinearly As we try to reduce accelerate delivery, curve rises sharply to left of td

indicating, project delivery time can not be compressed much beyond 0.75td

As we try further, the project moves into impossible region and failure risk becomes high

Tmin=0.75Td td to Development Time

Effort Cost

Ed

Eo

Impossible

Region

Page 6: Software Project Management

PNR Curve & Software Eqn.

The software equation is derived from the PNR curve

It demonstrates a highly nonlinear relationship between time to complete project and human effort applied to the project

Lines of Code (L) is related to effort (E) and development time (t) as:

L = P x E 1/3 t 4/3

Rearranging the equation E = L3 / P3t4

Page 7: Software Project Management

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 8: Software Project Management

Defining Task Set

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 9: Software Project Management

Project Types

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 10: Software Project Management

Factors affecting task set selection

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 11: Software Project Management

Reading Assignment

24.3.1 24.3.2

Page 12: Software Project Management

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 13: Software Project Management

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 14: Software Project Management

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 15: Software Project Management

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 16: Software Project Management

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