the mythical man-month - semantic scholar€¦ · the mythical man-month. the man-month (continued)...

82
The Mythical Man-Month Tony Priddy April 21, 2009 Frederick P. Brooks, Jr.

Upload: others

Post on 22-Mar-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

The Mythical Man-Month

Tony PriddyApril 21, 2009

Frederick P. Brooks, Jr.

Page 2: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

2

Agenda [1]

• Introduction• Overview• The Tar Pit• The Mythical Man-Month• The Surgical Team• Aristocracy, Democracy and System Design• The Second-System Effect• Passing the Word• Why Did the Tower of Babel Fail?

Page 3: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

3

Agenda [2]

• Calling the Shot• Ten Pounds in a Five-Pound Sack• Optimization• The Documentary Hypothesis• Plan to Throw One Away• Sharp Tools• Conclusion• Questions

Page 4: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

4

Introduction

• Brooks – Professor of Computer Science UNC at Chapel Hill– Development and design PM of the OS/360 project– Served on National Science and Defense Science

Boards

• The Mythical Man-Month– Originally published in 1975, republished in 1995

Page 5: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

5

Overview

• Premise• Division of labor creates different problems in large

programming projects than in small projects

• Conceptual integrity is vital to the process • Determination

• Integrity is achieved through exceptional design• Implementation is achieved through well-managed

effort

Page 6: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

6

Agenda

• Introduction• Overview• The Tar Pit• The Mythical Man-Month• The Surgical Team• Aristocracy, Democracy and System Design• The Second-System Effect• Passing the Word• Why Did the Tower of Babel Fail?

Page 7: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

7

The Tar Pit

• The more you struggle, the more entangled you become

• System programming mimics this struggle• No one factor appears to be the issue• Three elements to provide explanation

– Programming Systems Product– Joys of the Craft– Woes of the Craft

Page 8: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

8

The Tar PitProgramming Systems Product

Page 9: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

9

The Tar Pit Joys of the Craft• Why do we do this?

– Joy of making things– Making things that are useful to others– Fascination with making complex puzzle-like objects– Joy of always learning– Delight in working in such a tractable medium

Page 10: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

10

The Tar Pit Woes of the Craft• Why should we quit?

– Must perform perfectly– Loss of control– Tedious extermination process– Monotonous testing process– Fruits of your labor may become obsolete during

process

Page 11: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

11

Technology Services Organization-Kansas City (TSO-KC)• Mission

– To develop, deliver, and maintain information systems and information technology solutions that satisfy the requirements of our customers

• Vision– To become the premier software development

organization within the DoD and government agencies by providing innovative information systems and information technology solutions for our customers

Page 12: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

12

Integrated Applications Division (IAD)

IAD Division Director

IAD Deputy Director

Mission Support Branch Head

Client Server Branch Head

Web (Pay) Branch Head

Data Warehouse Branch Head

ODSE Design Team Lead

ODSE Scripts Team Lead

Mission Support Team

Page 13: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

13

Integrated Applications Division (IAD)

• Seven distinct systems– Discharge Accounting Sheet (DAS)– Document Tracking and Management System (DTMS)– Operational Data Store Enterprise (ODSE)– Remote Access Pay Transaction and Reporting

System (RAPTRS)– Unit Diary/Marine Integrated Personnel System

(UD/MIPS)– W2/W2 Correction (W2/W2C)– Management Reports (MGNTRPTS)

Page 14: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

14

Integrated Applications Division (IAD)

Collection Server

RUC Server

Administrative Personnel

Application Server

UD/MIPS (GUI)

MCTFS Mainframe

MOL/SSO

ODSEDatabase

Certifying Officers

Production Staff

App

licat

ion

Logi

cPr

esen

tati

on

Logi

c

Finance/Admin Personnel

DTMS (GUI)

Certifying Officers

Page 15: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

15

Integrated Applications Division (IAD)

Requirements& Analysis

System Design

Unit Design

Development

Unit Testing

Integration Testing

Acceptance Testing

Validation

Verification

Verification

MSB SAT Preparation

MSB SIT Preparation

IAD V-Model Draft

ReviewFeasibility Study

Page 16: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

16

Agenda

• Introduction• Overview• The Tar Pit• The Mythical Man-Month• The Surgical Team• Aristocracy, Democracy and System Design• The Second-System Effect• Passing the Word• Why Did the Tower of Babel Fail?

Page 17: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

17

The Mythical Man-Month

• Time causes more problems than all other problems combined

• Causes for disaster– Optimism– The Man-Month– Systems Test– Gutless Estimating– Regenerative Schedule Disaster

Page 18: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

18

The Mythical Man-MonthOptimism• Programmers are intrinsically optimistic

– “This time it will surely run”– “I just found the last bug”

• Swamp Gas– Programmers work with increasingly tractable

medium– Inclination is to expect few difficulties in

implementation– Ideas are faulty

• Ultimately, optimism is unjustified

Page 19: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

19

The Mythical Man-MonthThe Man-Month• Cost varies as the product of the number of

men and months• Progress does not • Man-Month as a unit of measurement is a

deceptive myth– Confuse effort with progress (men and months are

not interchangeable)

Page 20: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

20

The Mythical Man-MonthThe Man-Month (continued)

Men

Mon

ths

Men

Mon

ths

Time versus number of workers – perfectly partitionable task

Time versus number of workers – unpartitionable task

Page 21: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

21

The Mythical Man-MonthThe Man-Month (continued)

Men

Mon

ths

Men

Mon

ths

Time versus number of workers – partitionable task requiring

communication

Time versus number of workers – task with complex

interrelationship

Page 22: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

22

The Mythical Man-MonthThe Man-Month (continued)• When communication is required effort must be

added to total amount of work• Burden of communication

– Training• Cannot be partitioned • Added effort varies linearly with number of workers

– Intercommunication• n(n-1)/2

• Adding more men lengthens the schedule

Page 23: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

23

The Mythical Man-MonthSystems Test• Time required depends on number/subtlety of

errors– Theoretically number should be zero– Due to inherent optimism expect less bugs

• For this reason, testing is usually the most mis-scheduled part of programming

Page 24: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

24

The Mythical Man-MonthSystems Test (continued)• Brooks’ rule for software task scheduling

– 1/3 planning– 1/6 coding– 1/4 component test and early system test– 1/4 system test, all components in hand

• Differs from conventional scheduling– Larger than normal planning number– Half of schedule is debugging– Easy part to estimate (coding) only gets 1/6

Page 25: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

25

The Mythical Man-MonthGutless Estimating• False scheduling

– Estimating to meet the customer’s desires– Hard to defend estimate based on:

• No quantitative method for deriving estimate• Little data• Manager’s hunches

• Solution– Develop & Publicize data

• Productivity, bug incidence and source, estimating rules, etc.

Page 26: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

26

The Mythical Man-MonthRegenerative Schedule Disaster

Months

Men

1

2

3

4

5

1 2 3 4 5 6 7 8

ScheduledA B C D

Page 27: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

27

Months

Men

1

2

3

4

5

1 2 3 4 5 6 7 8

1 month delay(9 man/months remain)

A B C D

The Mythical Man-MonthRegenerative Schedule Disaster (contd)

Page 28: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

28

Months

Men

1

2

3

4

5

1 2 3 4 5 6 7 8

(18 m/m remain)

A B C D

The Mythical Man-MonthRegenerative Schedule Disaster (contd)

Page 29: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

29

Months

Men

1

2

3

4

5

1 2 3 4 5 6 7 8

Training complete

A

B C D

5 programmersfor 7+ m/m

The Mythical Man-MonthRegenerative Schedule Disaster (contd)

Page 30: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

30

The Mythical Man-MonthRegenerative Schedule Disaster• Brooks’ Law

– “Adding manpower to a late software project makes it later”

• Adding people to a software project: – Increases communication requirement– Requires education– Requires repartitioning of work

Page 31: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

31

Agenda

• Introduction• Overview• The Tar Pit• The Mythical Man-Month• The Surgical Team• Aristocracy, Democracy and System Design• The Second-System Effect• Passing the Word• Why Did the Tower of Babel Fail?

Page 32: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

32

The Surgical Team

• How should the development team be arranged?

• The problem– Good programmers are much better than poor

• Programmers– Typically 10 times better in productivity– Typically 5 times better in terms of program

elegance

Page 33: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

33

The Surgical TeamExample• Consider the following example

– 200-person project with 25 experienced managers– Previous slide argues for firing the 175 workers and

use the 25 managers as the team• However, this is still bigger than “the ideal” small team size

of 10 people (general consensus)

– However, the original team was too small to tackle large systems

• OS/360 had over 1000 people working on it; consumed 5000 man-years of design, construction, and documentation

Page 34: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

34

The Surgical TeamSolution• For efficiency and conceptual integrity

– A small team is preferred

• To tackle large systems– Considerable resources are needed

• One solution– Harlan Mill’s Surgical Team approach

• One person performs the work• All others perform support tasks

Page 35: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

35

The Surgical TeamComposition• The surgeon

– The chief programmer

• The co-pilot– Like the surgeon but less

experienced

• The administrator– Relieves the surgeon of

administrative tasks

• The editor– Proof-edits documentation

• Two secretaries– Support admin and editor

• The program clerk– Probably obsolete today

• The toolsmith– Supports the work of the

surgeon

• The tester• The language lawyer

• Master of the programming language

Page 36: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

36

The Surgical TeamComparison• Conventionally, work is divided equally

– Now only surgeon and co-pilot divide the work

• Conventionally, each person has equal say– The surgeon is the absolute authority

• Note communication paths are reduced– Normally 10 people 45 paths– Surgical Team at most 21 paths

Page 37: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

37

The Surgical TeamComparison

Surgeon

Administrator

Secretary

Editor

Secretary

Copilot

Programming Clerk

Toolsmith

Tester

Language Lawyer

Page 38: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

38

The Surgical TeamComposition (continued)• Based on 10:1 ratio• Scales up through hierarchical division of

problems• Single surgeon on problem (sub-problem)

maintains conceptual integrity of design• Requires good communication among surgeons

Page 39: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

39

The Surgical TeamComposition (continued)• Reconsider the 200 person team

– Communication paths 19,900

• Create 20, ten-person surgical teams• Now, only 20 surgeons must work together

– 20 people 190 paths

• Two orders of magnitude less• Key problem is ensuring conceptual integrity of

the design

Page 40: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

40

The Surgical Team Measure of Success• The key test to a system’s design is the ratio of

functionality to conceptual complexity– Ease-of-use is enhanced only if the functionality

provides more power than it takes to learn (and remember) how to use it in the first place!

– Neither function or simplicity alone is good enough

Page 41: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

41

Agenda

• Introduction• Overview• The Tar Pit• The Mythical Man-Month• The Surgical Team• Aristocracy, Democracy and System Design• The Second-System Effect• Passing the Word• Why Did the Tower of Babel Fail?

Page 42: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

42

Aristocracy, Democracy and System Design• Conceptual integrity

– System has same look and feel throughout– How do we keep things consistent same look and

feel when different teams work on different parts?

• Solution– Hire an architect– Record the vision– Enforce constraints

Page 43: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

43

• Brooks example Cathedrals– Many cathedrals consist of contrasting design ideas– Reims Cathedral

• With respect to software– Design by too many people results in conceptual

disunity – Makes the program hard to understand and use

Aristocracy, Democracy and System Design

Page 44: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

44

• Brooks considers integrity the most important consideration in system design– Better to leave functionality out of a system if it

causes the conceptual integrity of the design to break

• Conceptual Integrity– Consistency and accuracy of model– Implies ease of use

Aristocracy, Democracy and System Design

Page 45: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

45

Aristocracy, Democracy and System DesignAchieving Conceptual Integrity• Achieved more easily

– With fewer designers/functions– System reflects single philosophy

• Improvement of quality and schedule• System will better reflect the needs of the user• Ratio of productivity gain to cost [of system and

training] usually decreases with increased functionality

Page 46: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

46

Aristocracy, Democracy and System DesignAristocracy and Democracy• Architect must decide direction based on user’s

needs• System development must be aristocratic

– Not democratic– Architect has final word

• Architect absorbs the team’s ideas while ensuring conceptual integrity

Page 47: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

47

Agenda

• Introduction• Overview• The Tar Pit• The Mythical Man-Month• The Surgical Team• Aristocracy, Democracy and System Design• The Second-System Effect• Passing the Word• Why Did the Tower of Babel Fail?

Page 48: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

48

The Second-System Effect

• The first system is minimal and solid great ideas are saved for the second one

• All the great ideas are stuffed into the second one

• Result:– Small percentage increase in functionality and

quality– Large percentage increase in size and complexity

Page 49: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

49

The Second-System EffectAvoidance• Self-discipline• Maintain conceptual integrity• Avoid functional ornamentation• Determine trade-off between functionality,

time, and money• Adhere to principles of project management• Experienced architects

Page 50: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

50

Agenda

• Introduction• Overview• The Tar Pit• The Mythical Man-Month• The Surgical Team• Aristocracy, Democracy and System Design• The Second-System Effect• Passing the Word• Why Did the Tower of Babel Fail?

Page 51: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

51

Passing the Word

• Communication is the root of most problems• How do we communicate?

– Written specifications– Formal definitions– Direct incorporation– Conferences and courts– Multiple implementations– Telephone log– Product tests

Page 52: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

52

Passing the WordThe Manual• An external specification of the product• Should be precise, full, and accurately detailed• Describes only what the user sees• Includes descriptions of user interfaces

Page 53: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

53

Passing the WordFormal Definitions• Use standards to develop formal definitions• Keep style and prose consistent• May use a limited number of writers to achieve

consistency• Definition writing should reflect audience

– Requirements definition vs. requirements specification

Page 54: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

54

Passing the WordConferences and Courts• Meetings are a necessity• Set a meeting schedule to reflect your project

– Weekly, monthly, mid-project?– Are more frequent meetings needed?– When is a design review needed?

• Follow good techniques– Agendas– Roles and responsibilities– Communication rules– Documentation

Page 55: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

55

Passing the WordTelephone Logs• New technology may surpass the need for

telephone logs, but concept still applies• Document communication

– What was done?– Why it was done?– Ensure team has access to communication– Avoids guessing and misinterpretation

Page 56: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

56

Passing the WordProduct Test• Independent testers are surrogate customers• When communication fails, testers identify the

breakdown

Page 57: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

57

Agenda

• Introduction• Overview• The Tar Pit• The Mythical Man-Month• The Surgical Team• Aristocracy, Democracy and System Design• The Second-System Effect• Passing the Word• Why Did the Tower of Babel Fail?

Page 58: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

58

The Tower of BabelWhy Did Project Fail?• Lack of communication and organization• Can’t communicate without coordination• How do teams communicate?

– Informally– Meetings– Workbook

Page 59: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

59

The Tower of BabelInformal• Communication

– Phone– Email– Non-meeting communication

• Meetings– Follows up informal communication– Starts to close the communication gap

Page 60: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

60

The Tower of BabelWorkbook• Essential for maintaining communication and

organization• Needs to be written and available to all

members of the team• Includes all documentation:

– Objectives– Specifications– Standards– Etc.

Page 61: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

61

The Tower of BabelWorkbook• Should always be up to date• Logically organized to reduce lines of

communication– Division of labor– Function

• Use current technology to manage• Searchable• Should all information be available to all

parties?

Page 62: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

62

Agenda

• Calling the Shot• Ten Pounds in a Five-Pound Sack• Optimization• The Documentary Hypothesis• Plan to Throw One Away• Sharp Tools• Conclusion• Questions

Page 63: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

63

Calling the Shot

• Estimating– System development estimates include:

• Planning time• Coding• Testing• System integration• Training times• Documentation• Etc.

Page 64: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

64

Calling the Shot

• How do we estimate all of these activities?• Direct extrapolation is not always reliable and

can lead to gross inaccuracies• Essay discusses several insights

– Portman’s Data– Aron’s Data

Page 65: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

65

Calling the ShotPortman’s Data• Even with careful estimation using expert data,

estimates still about one-half actual time• Analyzing actual time uncovered non-estimated

time for other tasks– Machine downtime– Meetings– Paperwork– Higher priority unrelated tasks– Sickness– Etc.

Page 66: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

66

Calling the ShotAron’s Data• Studied large systems for design and

programming tasks• Categorized systems based on very few, some,

and many interactions between programmers• Interactions appear to play key productivity

– Very few: 10,000 instructions per man-year– Some: 5,000 instructions per man-year– Many: 1,000 instructions per man-year

Page 67: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

67

Calling the ShotAdditional Data• Program size and complexity increase the effort

required• One study shows effort increases exponentially

by a power of 1.5

Page 68: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

68

Calling the Shot

• Keep the following in mind– Use expert estimation and experience– Complex and large projects appear to increase

actual effort– Keep lines of communication in mind while

estimating– Consider overhead

Page 69: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

69

Agenda

• Calling the Shot• Ten Pounds in a Five-Pound Sack• Optimization• The Documentary Hypothesis• Plan to Throw One Away• Sharp Tools• Conclusion• Questions

Page 70: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

70

Ten Pounds in a Five-Pound Sack

• Size Constraints– Much of the essay is devoted to space cost,

controlling size, etc.– Essence of programming discusses good programming

guidelines• Algorithms• Control structures• Data structures

Page 71: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

71

Agenda

• Calling the Shot• Ten Pounds in a Five-Pound Sack• The Documentary Hypothesis• Plan to Throw One Away• Sharp Tools• Conclusion• Questions

Page 72: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

72

The Documentary Hypothesis

• Seems to be core set of documents required of any project type– Objectives– Specifications– Schedule– Budget– Space allocation– Organization chart– Estimate, forecast, prices

Page 73: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

73

Agenda

• Calling the Shot• Ten Pounds in a Five-Pound Sack• The Documentary Hypothesis• Plan to Throw One Away• Sharp Tools• Conclusion• Questions

Page 74: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

74

Plan to Throw One Away

• Plan to throw one away; you will, anyhow– Save your customers frustration– It will save you embarrassment

• Changes in objectives are inevitable– Changes in development strategy and technique are

also inevitable

• Use of configuration/change management is essential

• Reducing redundancy and automated support for documentation helps

Page 75: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

75

Plan to Throw One Away (continued)• Too much acceptance of change is poor

management• Threatening organizational structure

encourages lack of documentation• Flexibility in assignments is a must

– Have the best person on the job at all times– Keep management and technical people changeable

“Member of the Technical Staff”– Suggest overcompensating for move from managerial

to technical position to overcome perceived hierarchy

Page 76: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

76

Plan to Throw One AwayCalculate Change• Uncalculated change

– As opposed to hardware, software maintenance is usually unplanned change

• No cleaning, no lubrication• Usually means fixing mistakes and adding functionality

– Change in architecture means change visible to user

Page 77: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

77

Plan to Throw One AwaySurvival of the Fittest• What Brooks is referring to is what is now

called Software Evolution– It is inevitable that people desires grow with their

knowledge of what is possible– Their ability to find bugs grows with their willingness

to experiment with features– System designers constantly work to keep the users

happy– Systems evolve as they are used

Page 78: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

78

Plan to Throw One AwayInfestation• Fixing a bug usually breeds more bugs

– Most changes (bug fixes) have far-reaching effects• Lack of documentation• Lack of modularity• Lack of cohesion on programming team• Chief programmer got hit by a bus

• Call for regression testing techniques• Programs become fragile with time

– Design gets lost– Modularity decreases

Page 79: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

79

Agenda

• Calling the Shot• Ten Pounds in a Five-Pound Sack• Optimization• The Documentary Hypothesis• Plan to Throw One Away• Sharp Tools• Conclusion• Questions

Page 80: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

80

Sharp Tools

• Hording of tools is natural but foolish– Essential problem is communication– Tool lifetime is short

• Target and vehicle machines– Not having target facility leads to unexpected bugs

• Memory size• CPU speed• Bus speed• Etc.

Page 81: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

81

Conclusion

• Don’t fight it• Time causes more problems than all other

problems combined• Men and months are not interchangeable• Ensuring conceptual integrity of the design

shapes team composition• Communication is the root of most problems• Remain flexible

Page 82: The Mythical Man-Month - Semantic Scholar€¦ · The Mythical Man-Month. The Man-Month (continued) • When communication is required effort must be added to total amount of work

82

Questions