project planning - university of waterloose101/planning.pdf · 2004. 10. 26. · • project...

24
Project Planning

Upload: others

Post on 17-Apr-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Project Planning - University of Waterloose101/Planning.pdf · 2004. 10. 26. · • Project Scheduling. Fall 2004 SE 101 Introduction to Software Engineering 4 The discipline of

Project Planning

Page 2: Project Planning - University of Waterloose101/Planning.pdf · 2004. 10. 26. · • Project Scheduling. Fall 2004 SE 101 Introduction to Software Engineering 4 The discipline of

Fall 2004 SE 101 Introduction to Software Engineering 2

Today’s Lecture1. Intro to Software Engineering2. Inexact quantities3. Error propagation4. Floating-point numbers5. Design process6. Teamwork - no web review7. Project planning - no web review8. “To Engineer is Human”9. Professional Engineering10. Software quality - no web review11. Software safety12. Intellectual property

Page 3: Project Planning - University of Waterloose101/Planning.pdf · 2004. 10. 26. · • Project Scheduling. Fall 2004 SE 101 Introduction to Software Engineering 4 The discipline of

Fall 2004 SE 101 Introduction to Software Engineering 3

Agenda

• Project Planning

• Cost Estimation

• Project Scheduling

Page 4: Project Planning - University of Waterloose101/Planning.pdf · 2004. 10. 26. · • Project Scheduling. Fall 2004 SE 101 Introduction to Software Engineering 4 The discipline of

Fall 2004 SE 101 Introduction to Software Engineering 4

The discipline of Software Engineering was founded topredict and control the

• Quality

• Development time

• Cost

of software systems.

Project Planning

Page 5: Project Planning - University of Waterloose101/Planning.pdf · 2004. 10. 26. · • Project Scheduling. Fall 2004 SE 101 Introduction to Software Engineering 4 The discipline of

Fall 2004 SE 101 Introduction to Software Engineering 5

Deliverables - A description of program functionalityand performance that has been promised, usuallybroken down into key milestones.

Project schedule - An estimate of the amount of timeneeded to complete the project’s activities andmilestones.

Cost estimate - An estimate of the amount of effort andresources needed to complete the project.

Elements of a Project Plan

Page 6: Project Planning - University of Waterloose101/Planning.pdf · 2004. 10. 26. · • Project Scheduling. Fall 2004 SE 101 Introduction to Software Engineering 4 The discipline of

Fall 2004 SE 101 Introduction to Software Engineering 6

Want/Need to provide cost estimates very early inproject, often before solution is proposed or detailed.

Unfortunately, it is very difficult to estimate the costand effort to build a project if we don’t know very muchabout that project (which is often the case withsoftware)

Cost Estimation

Page 7: Project Planning - University of Waterloose101/Planning.pdf · 2004. 10. 26. · • Project Scheduling. Fall 2004 SE 101 Introduction to Software Engineering 4 The discipline of

Fall 2004 SE 101 Introduction to Software Engineering 7

We want to be able to estimate cost from informationwe have at the beginning of the project -- that is, fromthe project requirements.

1. Estimate the number of function points from therequirements

2. Estimate the code size from the function points

3. Estimate the resources required (time, personnel,money) from the code size.

Cost Estimation

Page 8: Project Planning - University of Waterloose101/Planning.pdf · 2004. 10. 26. · • Project Scheduling. Fall 2004 SE 101 Introduction to Software Engineering 4 The discipline of

Fall 2004 SE 101 Introduction to Software Engineering 8

Idea: To predict the complexity of the system in termsof the various functions to write, without being asspecific as lines of code.

FP = a1P1 + a2P2 + … + anPn

FP - number of function points1, 2, n - types of functionsa1, a2, a3 - empirically observed weightings per functiontypeP1, P2, Pn - # of instances per function type

1. Estimate Function Points

Page 9: Project Planning - University of Waterloose101/Planning.pdf · 2004. 10. 26. · • Project Scheduling. Fall 2004 SE 101 Introduction to Software Engineering 4 The discipline of

Fall 2004 SE 101 Introduction to Software Engineering 9

Projects and organizations collect data to determinethe average number of statements needed toimplement one function point.

LOC - Lines of code

2. Estimate Code Size

15C12C++

9JavaLOC/FPLanguage

Page 10: Project Planning - University of Waterloose101/Planning.pdf · 2004. 10. 26. · • Project Scheduling. Fall 2004 SE 101 Introduction to Software Engineering 4 The discipline of

Fall 2004 SE 101 Introduction to Software Engineering 10

Constructive Cost Model (COCOMO) - used to predictthe cost of a project from an estimate of its size (LOC).

E = a × KLOCb

E is for Effort - estimated person-months

KLOC - estimated project size (thousand lines of code)

a, b - empirically observed weightings; depend on typeof system being developed

3. Estimate Cost

Page 11: Project Planning - University of Waterloose101/Planning.pdf · 2004. 10. 26. · • Project Scheduling. Fall 2004 SE 101 Introduction to Software Engineering 4 The discipline of

Fall 2004 SE 101 Introduction to Software Engineering 11

E = a × KLOCb

a, b - depend on type of system being developed:

organic - Small projects, flexible requirements,experienced team

embedded - Tight constraints on hardware, software,environment.

semidetached - Medium size and complexity, mix ofrigid and flexible requirements

3. Estimate Cost

Page 12: Project Planning - University of Waterloose101/Planning.pdf · 2004. 10. 26. · • Project Scheduling. Fall 2004 SE 101 Introduction to Software Engineering 4 The discipline of

Fall 2004 SE 101 Introduction to Software Engineering 12

Accuracy of estimations

0%

10%

30%

60%

75%

95% 98% 98% 95% 98%100%

0%10%20%30%40%50%60%70%80%90%100%

0% 20% 40% 60% 80% 100%

Percentage of Total Project Time

Est

imat

ed P

erce

nta

ge

Com

ple

te

Page 13: Project Planning - University of Waterloose101/Planning.pdf · 2004. 10. 26. · • Project Scheduling. Fall 2004 SE 101 Introduction to Software Engineering 4 The discipline of

Fall 2004 SE 101 Introduction to Software Engineering 13

Software cost estimation is not unlike estimating howmuch pocket change there is in a room full of people.

• Your first attempt is way off, but you get better.

• You learn to account for different types of people.

Practice makes perfect

Steve McConnell, Code Complete, Microsoft Press,

• If the currency changes, you’ll have to learn how to estimate all over again.

Page 14: Project Planning - University of Waterloose101/Planning.pdf · 2004. 10. 26. · • Project Scheduling. Fall 2004 SE 101 Introduction to Software Engineering 4 The discipline of

Fall 2004 SE 101 Introduction to Software Engineering 14

Agenda

• Project Planning

• Cost Estimation

• Project Scheduling

Page 15: Project Planning - University of Waterloose101/Planning.pdf · 2004. 10. 26. · • Project Scheduling. Fall 2004 SE 101 Introduction to Software Engineering 4 The discipline of

Fall 2004 SE 101 Introduction to Software Engineering 15

Scheduling - Gantt chartsTask Sept Oct Nov Dec

4 11 18 25 1 8 15 22 29 5 12 19 26 3 10 17 24

1. Software Development

1.1 Requirements Analysis

1.2 Architectural Design1.3 Detailed Design

1.4 Code

2 Testing2.1 Unit Testing2.2 Integration Testing2.3 Acceptance Testing

3 Implementation

3.1 Training3.2 Installation

Gantt Charts best for displaying project schedule• Bars show duration of tasks• Triangle show milestones• Pink lines (usually dashed) show dependencies

Page 16: Project Planning - University of Waterloose101/Planning.pdf · 2004. 10. 26. · • Project Scheduling. Fall 2004 SE 101 Introduction to Software Engineering 4 The discipline of

Fall 2004 SE 101 Introduction to Software Engineering 16

Notation• Nodes indicate milestones• Edges indicate activities, labelled with time to complete• Dotted edges reflect dependencies (not activities, no time)

Shows critical path• Longest path from start to finish• Any slippage on the critical path will delay project

Scheduling - PERT charts

A

C

B

F

D E

t=10

t=45

t=10

t=20

t=5

t=20 Gt=20 t=25

Page 17: Project Planning - University of Waterloose101/Planning.pdf · 2004. 10. 26. · • Project Scheduling. Fall 2004 SE 101 Introduction to Software Engineering 4 The discipline of

Fall 2004 SE 101 Introduction to Software Engineering 17

Notation• Nodes indicate milestones• Edges indicate activities, labelled with time to complete• Dotted edges reflect dependencies (not activities, no time)

Shows critical path• Longest path from start to finish• Any slippage on the critical path will delay project

Scheduling - PERT charts

A

C

B

F

D E

t=10

t=45

t=10

t=20

t=5

t=20 Gt=20 t=25

Page 18: Project Planning - University of Waterloose101/Planning.pdf · 2004. 10. 26. · • Project Scheduling. Fall 2004 SE 101 Introduction to Software Engineering 4 The discipline of

Fall 2004 SE 101 Introduction to Software Engineering 18

D65 65

Notation• Nodes indicate milestones• Edges indicate activities, labelled with time to complete Earliest event time (EE) = length of longest path from start to node

Latest event time (LE) = EE of end point - length of longest path from node to end

Scheduling - Critical-Path Method

t=45

t=10

t=10

t=10

t=5

t=20 t=20 t=25 G110 110

E85 85

F70 75

C70 75

B45 45

A0 0

Page 19: Project Planning - University of Waterloose101/Planning.pdf · 2004. 10. 26. · • Project Scheduling. Fall 2004 SE 101 Introduction to Software Engineering 4 The discipline of

Fall 2004 SE 101 Introduction to Software Engineering 19

You cannot control what you cannot measure. You needthis information to negotiate cost of project and toplan project. Poor estimates may be better than noestimates.

Your ability improves with experience. Accurate costestimations require engineering judgement, whichcomes with experience.

Summary

Page 20: Project Planning - University of Waterloose101/Planning.pdf · 2004. 10. 26. · • Project Scheduling. Fall 2004 SE 101 Introduction to Software Engineering 4 The discipline of

Fall 2004 SE 101 Introduction to Software Engineering 20

Web Review #4

Readings for next week’s web review:Project planning: IPE Ch. 18Word ordering: Dupré 5,18,38,60,105,142

Page 21: Project Planning - University of Waterloose101/Planning.pdf · 2004. 10. 26. · • Project Scheduling. Fall 2004 SE 101 Introduction to Software Engineering 4 The discipline of

Fall 2004 SE 101 Introduction to Software Engineering 21

• In-lab quiz on Thursday November 4• 45 min, starts at 10:30 sharp• 10% of your course mark

• Closed book, closed notes

• Math Faculty calculator allowed only

• Old quizzes and explanations for some review

answers are available on the SE101 web page

Quiz #2

Page 22: Project Planning - University of Waterloose101/Planning.pdf · 2004. 10. 26. · • Project Scheduling. Fall 2004 SE 101 Introduction to Software Engineering 4 The discipline of

Fall 2004 SE 101 Introduction to Software Engineering 22

Quiz #2

Covers• Floating point numbers (Overton 3, lecture)

Precision of number systems• Engineering design (IPE 15, lecture) • Teamwork (lecture) • Project planning (IPE 18, lecture)• Petroski film (lecture)

• Word order (Dupré 5,18,38,60,105,142)

Page 23: Project Planning - University of Waterloose101/Planning.pdf · 2004. 10. 26. · • Project Scheduling. Fall 2004 SE 101 Introduction to Software Engineering 4 The discipline of

Fall 2004 SE 101 Introduction to Software Engineering 23

Quiz #2

Grammar questionOption 1:

1 paragraph on word orderDupré 5,18,38,60,105,142

Option 2:2 paragraphs on all grammar

Word order 5,18,38,60,105,142 Punctuation 15,23,29,80,93,139 Sentence structure 1,7,8,79,85,97Quiz #1 mark for grammar question is the best ofthe two questions’ marks.

Page 24: Project Planning - University of Waterloose101/Planning.pdf · 2004. 10. 26. · • Project Scheduling. Fall 2004 SE 101 Introduction to Software Engineering 4 The discipline of

Fall 2004 SE 101 Introduction to Software Engineering 24

Announcements

No office hours next week.