• No results found

Contents. Today Project Management. Project Management. Last Time - Software Development Processes. What is Project Management?

N/A
N/A
Protected

Academic year: 2021

Share "Contents. Today Project Management. Project Management. Last Time - Software Development Processes. What is Project Management?"

Copied!
15
0
0

Loading.... (view fulltext now)

Full text

(1)

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Contents

ˆ

ˆ

Introduction

Introduction

ˆ

ˆ

Software Development Processes

Software Development Processes

ˆ

Project Management

ˆ

Requirements Engineering

ˆ

Software Construction

ˆ

Group processes

ˆ

Quality Assurance

ˆ

Software Management and Evolution

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Last Time - Software Development

Processes

ˆ

What is Software Engineering?

ˆ

Software Development Processes



What is that?



The Waterfall Model



The Spiral Model



The V-Model



Iterative and Incremental Development



Agile Development



CMM



Systematic Process Improvement

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Today – Project Management

ˆ

What is Project Management?

ˆ

Cost Estimation

ˆ

Project Planning and Scheduling

(2)

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

What is Project Management?

Planning

Evaluation

inp

ut t

o

Think first.

Check results.

produce

Activity

Result

improve

imp

ro

ve

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Project Management Activities

ˆ

Project acquisition

ˆ

Feasibility study (initial project planning)



Resource assessment



Option (and risk) analysis

ˆ

Cost estimation

ˆ

Project planning and scheduling



Work breakdown structure



Effort estimation and distribution



Resource assignment

ˆ

Project tracking and control

ˆ

Risk management

ˆ

Reporting

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Project Resources

ˆ

People



Required skills



Availability



Duration of tasks



Start date

ˆ

Time

ˆ

Budget

ˆ

Office/lab space

ˆ

ˆ

Hardware and

software tools



Description



Availability



Duration of use



Delivery date

(3)

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Option Analysis

ˆ

Compare different development

alternatives

ˆ

Evaluate their risks

ˆ

Select best alternative

ˆ

Tools



Polar graph



Forms



Decision tree



...

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Polar Graphs

Portabilty Efficiency Schedule Reliability Cost Reuse Alternative A Alternative B Alternative C

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Analysis Example

Alternative A B C Relative efficiency 0.8 1 0.6 Tools investment 250.000 500.000 500.000 Schedule (years) 2 1.3 2 Staff utilization (%) 85 70 100 Risk 0.75 0.6 0.9 Cost (SEK) 7.500.000 8.500.000 7.000.000

(4)

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Analysis Example (Polar Graph)

Staff utilisation Schedule Efficiency Cost Tools investment Risk Alternative A Alternative B Alternative C 0.5 1 y 5 M 0 1 1 0 100% 250K 2 y 500K

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Analysis Example (Forms)

Objectives Constraints Alternatives Risks Risk resolution strategy Results Plans Commitment

Develop a software components catalogue

Within one year

Must support all existing component types Must cost less than 1 MSEK

Buy existing information retrieval (IR) software

Buy a database and develop the catalogue using the query language Develop a special-purpose catalogue

May be impossible within the given constraints Catalogue functionality may be inappropriate Develop a prototype to clarify requirements Commission a consultants report on existing IR systems Relax the time constraints

IR systems are too inflexible Identified requirements cannot be met

The prototype using a DBMS may be enhanced to a complete system Special-purpose catalogue development is not cost effective Develop the catalogue using the existing DBMS by enhancing the prototype and building a GUI

Fund further 12 months of development

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Analysis Example (Decision Tree)

Goal: Develop System X 3.8 MSEK 4.5 MSEK 2.75 MSEK 3.1 MSEK 4.9 MSEK 2.1 MSEK 4 MSEK 3.5 MSEK 5 MSEK Build Reuse Buy Contract Simple (0.3) Difficult (0.7) Minor changes (0.4) Major changes (0.6) Simple (0.2) Complex (0.8) Minor changes (0.3) Major changes (0.7) Without changes (0.6) With changes (0.4)

(5)

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Project Management

ˆ

What is Project Management?

ˆ

Cost Estimation

ˆ

Project Planning and Scheduling

ˆ

Running and Documenting a Project

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Cost Estimation

ˆ

General approach



Decompose problem



Check for experiences/

data on sub problems



Make qualified estimations



(Make at least two

independent estimates)

ˆ

General problems



What are good measures?



Do the estimates effect

the result?



Does the type of software

effect the result?



Does the project

environment effect the

result?



...

Î

Use empirical and historical data

Î

Algorithmic cost modelling

‰

COCOMO (based on

LOC

)

‰

FP (based on

function points

)

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

COCOMO

ˆ

Constructive Cost Modelling [Boehm 81, Boehm 00]

ˆ

Based on publicly available historical data of 63 TRW

projects

ˆ

Basic assumptions:



Requirements change only slightly during the project



There is good project management



The historical data is representative



Assigning more resources to the project does NOT result in

linear decreasing development time

ˆ

Basic model:



Effort = a KDSI

b

KDSI = Kilo Delivered Source Instructions (≈ LOC - comments) The a and b factors vary depending on the type of project Effort is measured in PM (Person Months = 152h of work)

(6)

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

COCOMO Project Types

ˆ

OM: Organic Mode projects



Small teams which are familiar with the type of

application



Development in a familiar environment

ˆ

EM: Embedded Mode projects



Large and inexperienced teams



Many constraints

ˆ

SDM: Semi Detached Mode projects



Between OM- and EM projects

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

COCOMO Basic Model

ˆ

PM: Person Months



2.4 KDSI

1.05

for OM projects



3 KDSI

1.12

for SDM projects



3.6 KDSI

1.20

for EM projects

ˆ

TDEV: Time for DEVelopment



2.5 PM

0.38

for OM projects



2.5 PM

0.35

for SDM projects



2.5 PM

0.32

for EM projects

ˆ

N: Number of personnel



PM / TDEV

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

This is Too Simplistic!?

ˆ

There are many cost drivers that effect

effort



Programming language



Development methods



Tools and environments



Experience and capabilities of the development

team



Available time



Requirements volatility

(7)

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

COCOMO Intermediate Model

ˆ

Takes into account 15 cost drivers, which are ranked on a

scale from very low to extra high



Product attributes (e.g., required reliability)



Platform attributes (e.g., time/space constraints)



Personnel attributes (e.g., programming language experience)



Project attributes (e.g., tool usage)

ˆ

PM: Person Months



3.2 KDSI

1.05

× ΠCifor OM projects



3 KDSI

1.12

× ΠCi for SDM projects



2.8 KDSI

1.20

× ΠCi for EM projects

ˆ

ΠCi ∈ [0.09..9.42]

ˆ

TDEV and N as before

Cost Drivers

1.10 1.04 1.00 1.08 1.23 Required development schedule

0.83 0.91 1.00 1.10 1.24

Application of software engineering methods 1.24 1.10 1.00 0.91 0.82 Use of software tools

Project attributes 1.14 1.07 1.00 0.95 Programming language experience 1.21 1.10 1.00 0.90 Virtual machine experience

0.70 0.86 1.00 1.17 1.42

Software engineer capability 1.29 1.13 1.00 0.91 0.82 Applications experience 1.46 1.19 1.00 0.86 0.71 Analyst capability

Personnel attributes 0.87 1.00 1.07 1.15

Required turnabout time 0.87 1.00 1.15 1.30

Volatility of the virtual machine environment

1.56 1.21 1.06 1.00

Memory constraints 1.00 1.11 1.30 1.66

Run-time performance constraints Platform attributes 1.65 1.30 1.15 1.00 0.85 0.70

Complexity of the product 0.94 1.00 1.08 1.16 Size of application database

1.40 1.15 1.00 0.88 0.75 Required software reliability

Product attributes Extra High Very High High Nomin al Low Very Low Ratings Cost Drivers

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Intermediate COCOMO Summary

ˆ

Works quite well in practice

ˆ

TRW data is publicly available

ˆ

Needs KLOC as input

ˆ

Problems:



Estimating KLOC in early project stages



Comparison of projects using different LOC counts



Outdated project data base for basic constants (70s)

ˆ

Solutions:



Cross-check using an other estimation technique



Standardised LOC counts



Continuous model calibration



Use COCOMOII

(8)

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

COCOMO II

ˆ

Stage 1: Application Composition (resolving high-risk issues)



Estimation base: Object points



Single standard project type

ˆ

Stage 2: Early Design

(exploration of architectures and

concepts)



Estimation base: Function points or KLOC



Six project type factors

ˆ

Stage 3: Post-architecture

(development has started)



Estimation base: Function points or KLOC



Six project type factors

ˆ

Formulas more complicated; takes care of more variation

ˆ

See simple

online tool

(

http://www.cms4site.ru/utility.php?utility=cocomoii

)

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Function (Feature) Points

ˆ

Estimate functionality captured in requirements

ˆ

Very detailed and complex counting rules (IFPUG)

# User inputs x (3,4,6) = … # User outputs x (4,5,7) = … # User inquiries x (3,4,6) = … # Files x (7,10,15) = … # External interfaces x (5,7,10) = … (# Algorithms x (3,4,6) = … ) ---Count-total … Feature points only

FP = Count-total x [ 0.65 + 0.01 x

Σ

F

i

]

Adjustment factors (Fi ∈ {0,...,5}) i=1 14

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Project Management

ˆ

What is Project Management?

ˆ

Cost Estimation

ˆ

Project Planning and Scheduling

(9)

ˆ

Activity



Major work unit



Start and end dates



Consumes resources



Results in work products

(and milestones)

Define Work Breakdown Structure

ˆ

Project function



Continue throughout the

project



Not bound to specific

phases

Project Phase 1 Phase 2 Phase N Step 1 Step 2 Step 1 Step 2 Step 1 Step 2 Activity 1 Activity 2 Activity 3 Activity 1

Activity 2 Task 1Task 2

Task 3

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Schedule Activities

ˆ

Almost all activities depend on the completion of

some other activities

ˆ

Many activities can be performed in parallel

ˆ

Track usage of resources

ˆ

Organisation necessary to balance work-load,

costs, and duration



PERT chart (activity network/task graph)



Critical path



Project time-line (Gantt chart)



Resource table

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

PERT Charts

ˆ

Program Evaluation and Review Technique

ˆ

Graph



Nodes = activities/tasks and estimated duration



Edges = dependencies

ˆ

Compute



Slack time = available time - estimated duration



Critical path

A path is critical when it contains an activity that,

if delayed, will cause a delay of the whole project.

(10)

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

PERT Chart “Syntax”

ˆ

There is a nice tutorial at

http://www.getahead-direct.com/gwprpert.htm

© GetAhead

An Example PERT Chart

Designelectrical and pneumatic renovations

4 4d

5/4/00 5/9/00

Schedule down-time with production supervisor

5 2d

5/10/00 5/11/00

Renovate electrical and pneumatic

13 2d

5/17/00 5/18/00

Get final report from PSU

1 5d

4/27/00 5/3/00

Schedule contractor for electrical and pneumatic

8 1d

5/12/00 5/12/00

Inform PSU about pickup

7 2d

5/5/00 5/8/00

Remove old hardware

11 2d

5/15/00 5/16/00

Shut down production line

10 1d

5/12/00 5/12/00

Install new hardware

14 3d

5/19/00 5/23/00

Schedule truck to pickup hardware at PSU

6 1d

5/4/00 5/4/00

Get blueprints for old hardware 2 1d 4/27/00 4/27/00 Time-motion study of existing hardware 3 2d 5/4/00 5/5/00

Store old hardware (just in case)

12 10d

5/17/00 5/30/00

Transport hardware from PSU

9 2d

5/9/00 5/10/00

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

(11)

Another Gantt Chart

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

A Resource Table

ˆ

Can be (partly) generated from Gantt and or PERT

charts

ˆ

Resource assignment

ˆ

Useful for project tracking

Task name earliest latestStart earliest latestEnd ElapsedtimeResource 1Utilisationtime 1 Resource nUtilisationtime n

...

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Project Management

ˆ

What is Project Management?

ˆ

Cost Estimation

ˆ

Project Planning and Scheduling

(12)

Running a Project

ˆ

To know where you are you need



A (detailed) plan/goal



Measurements of project status

time in, e.g., weeks

progress

100% plan

actual

Example Effort Distribution

0 50 100 150 200 250 300 350 400 Lecture s Meeting s Plannin g Require ments GUI de sign Analysi s DesignTestingCoding

Presentatio ns Subcon tract Code su bc. Evaluat ion of proto

typeManual Final re port weekly reports and me eting m inutesOther 0 50 100 150 200 250

week35 week36 week37 week38 week39 week40 week41 week42 week43 week44

to tal ti me in h actual plan

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Risk Management

ˆ

Risk management is concerned with

identifying risks and drawing up plans to

minimise their effect on a project

ˆ

A risk is a probability that some adverse

circumstance will occur



Project risks affect schedule or resources



Product risks affect the quality or performance

of the software being developed



Business risks affect the organisation

(13)

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Risk Management Activities

ˆ

Investigate potential risk factors



Risk



Likelihood of occurrence



Impact

ˆ

Define mitigation strategies (i.e. be prepared)



What can be done to avoid the problem(s) in the first

place



What can be done to solve the problem(s) in case they

occur

ˆ

Monitor risks



Determine if predicted risk occurs



Properly apply risk aversion steps



Collect info for future risk analysis

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Example

ˆ

Assume



Risk = High staff turnover



Likelihood of occurrence = 70%



Impact = Increase project time by 15%, project cost by

12%

ˆ

Mitigation strategy



Identify high turnover causes



Reduce causes before project starts



Develop techniques to assure work continuity in light of

turnover

• For example ...

• or ...

Risk Management

Risk management Risk assessment Risk control Risk identification Risk analysis Risk prioritisation Checklist Decomposition Assumption analysis Decision driver analysis System dynamics Performance models Cost models Network analysis Decision analysis Quality risk factor analysis Risk exposure Compound risk reduction Buying information Risk avoidance Risk transfer Risk reduction leverage Development process Risk element planning Risk plan integration Risk mitigation Risk monitoring and reporting Risk reassessment

Risk reduction Risk management planning Risk resolution

(14)

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Top Ten Project Risks

ˆ

Staff deficiencies

ˆ

Unrealistic schedules and budgets

ˆ

Developing the wrong functions

ˆ

Developing the wrong interface

ˆ

Over-engineering

ˆ

Requirements volatility

ˆ

Externally developed items

ˆ

Externally performed tasks

ˆ

Performance problems

ˆ

Assumptions on technology

See Jalote: An Integrated Approach to Software Engineering, Springer 1997.

The Project Plan

1 Introduction

1.1 Project overview

1.2 Project deliverables

1.3 Evolution of the SPMP

1.4 Reference Materials

1.5 Definitions and acronyms

2 Project Organisation

2.1 Process model

2.2 Organisational structure

2.3 Organisational boundaries and interfaces

2.4 Project responsibilities

3 Managerial Process

3.1 Management objectives and priorities

3.2 Assumptions, dependencies and constraints

3.3 Risk management

3.4 Monitoring and controlling mechanisms

3.5 Staffing plan

4 Technical Process

4.1 Methods, tools and techniques

4.2 Software documentation

4.3 Project support functions

5 Work Packages, Schedule, and

Budget

5.1 Work packages

5.2 Dependencies

5.3 Resource requirements

5.4 Budget and resource allocation

5.5 Schedule

According to ESA Std PSS-05-0

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

The Message

Without a detailed

plan you never know

(15)

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Summary

ˆ

What is Project Management?

ˆ

Cost Estimation

ˆ

Project Planning and Scheduling

ˆ

Running and Documenting a Project

3/9 - 08 Programvarukonstruktion - Jonny Pettersson, UmU

Next time

ˆ

ˆ

Introduction

Introduction

ˆ

ˆ

Software Development Processes

Software Development Processes

ˆ

ˆ

Project Management

Project Management

ˆ

Requirements Engineering



Guest lecture

ˆ

Software Construction

ˆ

Group processes

ˆ

Quality Assurance

References

Related documents