SE Software Project Management 150407

42
bharat_mybooks@rediffmail .com 1 Software Project Management by : Bharat V. Chawda Computer Engineering Department, BBIT, VVNagar

description

Software Project Management Unit 03 - Fundamentals of Software Development, Diploma Computer/IT Engineering, Gujarat Technological University (GTU), Gujarat, India

Transcript of SE Software Project Management 150407

Page 1: SE Software Project Management 150407

[email protected] 1

Software Project Management

by:Bharat V. Chawda

Computer Engineering Department,BBIT, VVNagar

Page 2: SE Software Project Management 150407

[email protected] 2

Overview Introduction Responsibilities of SW Project

Manager Metrics for Size Estimation Project Estimation Technique Scheduling Risk Management

(As per GTU Curriculum – Diploma in Computer/IT Engineering)

Based on Books:1. Fundamentals of Software Engineering – by Rajib Mall2. Software Engineering: A Practitioner’s Approach – by Roger

Pressman

Page 3: SE Software Project Management 150407

[email protected] 3

Introduction: SPM SPM: Software Project Management Why required?

Several SW projects have failed due to faulty SW project management practices.

So, it is imp : learn : latest SPM techniques

Goal “To enable a group of SW developers

to work efficiently towards successful completion of the project.”

Page 4: SE Software Project Management 150407

[email protected] 4

Responsibilities: SW Prj Manager Project Proposal Writing Project Cost Estimation Scheduling Project Staffing (Resourcing) Risk Management Project Monitoring and Control Software Process Tailoring Software Configuration Management Interfacing with Clients Managerial Report Writing and

Presentations

Page 5: SE Software Project Management 150407

[email protected] 5

Responsibilities: Categories (i) Project Planning

What? Estimate several char of project: size, effort,

cost, duration Plan project activities based on estimations

When? After feasibility study phase, and before requirements analysis & specification

phase

Page 6: SE Software Project Management 150407

[email protected] 6

Responsibilities: Categories (ii) Proj Monitoring & Control

Activities What?

Ensure that the development proceeds as per plan.

When? Once the development activities start.

Page 7: SE Software Project Management 150407

[email protected] 7

Skills: SW Project Management Theoretical knowledge of different project

management techniques Good qualitative judgement Good decision making capabilities Good communication skills Ability to get work done Ability to track & control the progress of

proj Effective customer interaction Effective managerial presentations

Page 8: SE Software Project Management 150407

[email protected] 8

Project Planning Activities

Estimation, Scheduling, Staffing, Risk Management, Miscellaneous plans (quality assurance, configuration)

Size Estimation

Effort Estimation Cost Estimation

Duration Estimation

Staffing Estimation

Scheduling

Page 9: SE Software Project Management 150407

[email protected] 9

Metrics for Proj Size Estimation What is Project Size?

“A measure of the problem complexity in terms of

Effort and Time required to develop the product.”

Two metrics: LOC: Lines of Code FP: Function Point

Page 10: SE Software Project Management 150407

[email protected] 10

LOC: Lines of Code

Simplest, Extremely Popular How project size is measured?

“Counting: Number of source instructions/lines in the developed program”

Comments, Header Lines, White spaces are ignored

Very simple at end; but very difficult at beginning

A systematic guess: Divide the problem into modules Each module into sub-modules, and so on, until sizes of leaf-level modules can be approximately

predicted.

Page 11: SE Software Project Management 150407

[email protected] 11

LOC: Disadvantages

Size can vary with individual coding style

Measure of the coding activity alone

Efforts : to analyze, design, test etc : not considered

Correlates poorly with the quality and efficiency of the code

Larger code size = Better quality, ↑ efficiency? : No

Page 12: SE Software Project Management 150407

[email protected] 12

LOC: Disadvantages (cont.)

Penalizes use of higher-level programming languages, code reuse, etc.

Discourages use of library functions, code reuse

Measures lexical/textual complexity only Structural or logical complexity not considered

Difficult to accurately estimate LOC from the problem specification

Not much useful for project planning

Page 13: SE Software Project Management 150407

[email protected] 13

FP: Function Point Metric

Overcomes many of the shortcomings of LOC

Proposed by Albrecht in early 1980s Size can be estimated : Directly from the

problem specification Concept:

Size: depends on: No of different functions or features

Function: Transforms: Input Output Example: Book_Search: Keyword Book

Details

Page 14: SE Software Project Management 150407

[email protected] 14

Unadjusted FP: Calculation

Page 15: SE Software Project Management 150407

[email protected] 15

FP: Calculation

FP = UFP * TCF TCF: Technical Complexity Factor

Expresses overall impact of various 14 proj parameters

Ex: High transaction rates, response time, critical performance

Each parameter is assigned value from 0 to 6 0: not present / no influence; 6: strong influence Summed DI (total degree of influence) : 0 – 84 TCF = (0.65 + 0.01 * DI) : 0.65 – 1.35

Page 16: SE Software Project Management 150407

[email protected] 16

FP: Disadvantage

Does not consider algorithmic complexity of a software/function

Two functions: FP same Different complexity

Example: Linear search v/s Binary search Feature Point Metric

Extension of function point metric Incorporates algorithmic complexity Complexity ↑ Size ↑

Page 17: SE Software Project Management 150407

[email protected] 17

Project Estimation Techniques Estimation of various project parameters

is a basic project planning activity. Parameters:

Project Size; Effort required to develop software Project duration; Cost

Helps: To quote Project cost to customers + Scheduling + Resource Planning

Techniques: Empirical Estimation Techniques Heuristic Techniques Analytical Estimation Techniques

Page 18: SE Software Project Management 150407

[email protected] 18

Empirical Estimation Techniques Makes an educated guess of the project

parameters Uses prior experience with development

of similar products Most techniques are based on: Common

Sense Two popular techniques:

Expert Judgement Technique Delphi Cost Estimation

Page 19: SE Software Project Management 150407

[email protected] 19

Heuristic Techniques

Divides parameters into – Independent: Project Size Dependent: Effort, Duration, Cost

Assumes: relationships among different project parameters can be modeled using suitable mathematical expressions.

Two Classes: Single Variable Model Multivariable Model

Page 20: SE Software Project Management 150407

[email protected] 20

Heuristic Techniques: Classes Single Variable Model

Estimated Parameter = c1 * ed1

Example 1: Effort = a1 * (KLOC)a2 Person-Months

Example 2: Tdev = b1 * (Effort)b2 Months COCOMO (COnstructive COst estimation MOdel)

Multivariable Model Estimated Parameter = c1 * (ep1)d1 + c2 *

(ep2)d2 +… c1, d1, c2, d2…: Influence of respective

parameters Intermediate COCOMO

Page 21: SE Software Project Management 150407

[email protected] 21

Analytical Estimation Techniques Uses: Certain basic assumptions regarding

the project Total number of operators Total number of operands Total number of unique operators Total number of unique operands

Uses: certain scientific basis; Unlike – Emp, Heu

Halstead’s Software Science More suitable for estimating software

maintenance efforts

Page 22: SE Software Project Management 150407

[email protected] 22

Scheduling

“Process of deciding which tasks would be taken up when for a SW development…”

What? Identify all the tasks needed to complete the

project Break down large tasks into small activities Determine the dependency among different

activities Establish the most likely estimates for time

durations Allocate resources to activities Plan the starting & ending dates for various

activities Determine critical path: determines duration

of proj

Page 23: SE Software Project Management 150407

[email protected] 23

WBS: Work Breakdown Structure

MISApplication

RequirementSpecification

Design Code Test Document

DatabasePart

GUIPart

DatabasePart

GUIPart

Page 24: SE Software Project Management 150407

[email protected] 24

WBS: Work Breakdown Structure Used to decompose a given task-set

recursively into small activities. Provides a notation to represent major

tasks… Tree like structure

Root: labeled by the problem name Node broken down smaller activity child Activity decomposed sub-activities: 2 week

leaf node

More decomposition with parallelism Better

But, requires more time: prepare & revise charts

Page 25: SE Software Project Management 150407

[email protected] 25

Activity Networks

SRS15

DesignDatabase

45

Integrate and Test

120

Finish0

CodeDatabase

105

DesignGUI30

CodeGUI45

Write UserManual

60

Page 26: SE Software Project Management 150407

[email protected] 26

Activity Networks

Activity NW = Activities in WBS + Interdependencies

Shows: Activities: in rectangles Their estimated times: along with activities Interdependencies: by arrows

How to estimate time?

Page 27: SE Software Project Management 150407

[email protected] 27

Activity Networks: Example

Consider following five tasks with their durations and dependencies.

A: 10; B: 20; C: 30; D: 40; E: 50 A B; B C; A D; {C,D} E

Prepare an activity networks for these tasks.

Page 28: SE Software Project Management 150407

[email protected] 28

CPM: Critical Path Method

MT: The minimum time to complete project

Maximum of all paths from start to finish ES: The earliest start time of a task

Maximum of all paths from start to this task EF: The earliest finish time

Sum of ES and duration of this task LS: The latest start time of a task

Diff: MT and max of all paths 4m this task to finish

LF: The latest finish time Diff: MT and max of all paths following this task to

finish ST: The slack time: LS – ES : LF – EF

Page 29: SE Software Project Management 150407

[email protected] 29

CPM: Example

SRS15

DesignDatabase

45

Integrate and Test

120

Finish0

CodeDatabase

105

DesignGUI30

CodeGUI45

Write UserManual

60

Page 30: SE Software Project Management 150407

[email protected] 30

CPM: Various Parameters

Project parameters for diff tasks of MIS:

Task (duration) ES EF LS LF STSpecification (15) 0 15 0 15 0

Design DB (45) 15 60 15 60 0

Design GUI (30) 15 45 90 120 75

Code DB (105) 60 165 60 165 0

Code GUI (45) 45 90 120 165 75

Integrate & Test (120) 165 285 165 285 0

Write User Manual (60) 15 75 225 285 210

Critical Task, Critical Path (???)

Page 31: SE Software Project Management 150407

[email protected] 31

Gantt Charts – Example: MIS

Sp

Design DB

Design GUI

Code Database

Code GUI

Integration and Testing

Write U Manual

15 30 15 15 15 75 120 Time

Page 32: SE Software Project Management 150407

[email protected] 32

Gantt Charts

Named after its developer: Henry Gantt Used to allocate resources to activities.

Resources: Staff, HW, SW

Gantt chart: Special types of Bar charts: Each bar Activity Bars are drawn along a time line Length of bar α Duration of time estimated for

activity Each bar consists of two parts: Shaded part: represents Estimated time White part: represents Slack time : latest time

by which a task must be finished

Page 33: SE Software Project Management 150407

[email protected] 33

PERT: Proj Evaluation & Review Technique

SRS12,15,20

DesignDatabase40,45,62

Integrate and Test

100,120,140

Finish0

CodeDatabase

95,105,120

DesignGUI

24,30,38

CodeGUI

38,45,52

Write UserManual50,60,70

EstimatesPessimistic – MaxLikelyOptimistic – Min

Page 34: SE Software Project Management 150407

[email protected] 34

Project Monitoring & Control SPM monitors project: ensure: it is

progressing as per plan Milestones: Completion of important

activity Example: Completion & review of SRS;

Completion of coding & unit testing M reached: represents measurable

progress M delayed: requires corrective actions Chart used: PERT Path: Set of consecutive Nodes and Edges

in the graph from starting node to last node

Critical Path: every milestone is critical; >1

Tools: MS-Project

Page 35: SE Software Project Management 150407

[email protected] 35

Risk Management

Risk: “Any anticipated unfavorable

event/circumstance that can occurwhile project is underway…”

Risk ≠ Existing Problem Aim: Reduce the impact of all kinds of

risks… Imp: to identify, assess, and contain risk

(Why?) Three important activities:

Risk Identification Risk Assessment Risk Containment

Page 36: SE Software Project Management 150407

[email protected] 36

Risk Identification

All risks that are likely to affect project must be identified and listed.

Examples: Key personnel might leave the organization Third party outsourced modules: out of time,

quality↓

Three Categories Project Risks Technical Risks Business Risks

Page 37: SE Software Project Management 150407

[email protected] 37

Risk Identification: Categories Project Risks

Budget, Schedule, Personnel, Resource, Customer-related

Imp: Schedule Slippage: SW is Intangible/Invisible Difficult to monitor and control: Manufacturing proj

Technical Risks Design, Impl, Interfacing, Testing, Maintenance Specification ambiguous, incomplete,

changing Technical uncertainty, obsolescence Reason: Development team’s insufficient

knowledge Business Risks

Building an excellent product that no one wants Losing budgetary or personnel commitments

Company Disaster List

Page 38: SE Software Project Management 150407

[email protected] 38

Risk Assessment

Objective: To rank the risks in terms of their damage

causing potential.

Priority of each risk: p = r * s

where, p = priority of risk

r = probability/likelihood of risk becoming true

s = consequence of the prob associated: risk

Find priority of each identified risk Assess them

Page 39: SE Software Project Management 150407

[email protected] 39

Risk Containment

Steps Arrange in order each identified & assessed risk

most damaging, most likely Identify & apply containment strategy: Diff risk

diff containment procedure

Main 3 strategies: Avoid the Risk Transfer the Risk Risk Reduction

Page 40: SE Software Project Management 150407

[email protected] 40

Risk Containment: Strategies Avoid the Risk

Discussing with cust : change req : to reduce the scope of the work

Giving incentives to developers : to avoid risk of manpower turnover

Transfer the Risk Getting risky component developed by a third

party Buying insurance cover

Risk Reduction Planning ways to contain the damage due to a

risk Plan to recruit new personnel; Documents;

Prototype

Page 41: SE Software Project Management 150407

[email protected] 41

Risk Containment: Strategies Risk Leverage

Risk exposure b4 reduction – Risk exposure after reduction

Cost of Reduction

Page 42: SE Software Project Management 150407

42

Thank-U…!!!

[email protected]