mythical man-month

54
Mythical Man-Month Presentation by: Steven Braverman

Upload: dandb-technology

Post on 15-Jan-2015

78 views

Category:

Technology


0 download

DESCRIPTION

Presentation on some key concepts from the book, The Mythical Man-Month

TRANSCRIPT

Page 1: Mythical Man-Month

Mythical Man-Month

Presentation by: Steven Braverman

Page 2: Mythical Man-Month

What is the Mythical Man-Month?

Page 3: Mythical Man-Month

What is the Mythical Man-Month?

Book written by Fred Brooks – Published in 1975

Page 4: Mythical Man-Month

What is the Mythical Man-Month?

Book written by Fred Brooks – Published in 1975

Essays about software engineering and project management

Page 5: Mythical Man-Month

What is the Mythical Man-Month?

Book written by Fred Brooks – Published in 1975

Essays about software engineering and project management

Still relevant today?

Page 6: Mythical Man-Month

The Man-Month?

Page 7: Mythical Man-Month

The Man-Month

Man Month – A unit for measuring the size of a job.

Page 8: Mythical Man-Month

The Man-Month

Man Month – A unit for measuring the size of a job. Dangerous and deceptive myth.

Page 9: Mythical Man-Month

The Man-Month

Man Month – A unit for measuring the size of a job. Dangerous and deceptive myth. Implies men and months are

interchangeable

Page 10: Mythical Man-Month

The Man-Month

Interchangeable if the task(s):

Page 11: Mythical Man-Month

The Man-Month

Interchangeable if the task(s): Can be partitioned among many

workers

Page 12: Mythical Man-Month

The Man-Month

Interchangeable if the task(s): Can be partitioned among many

workers Requires no communication between

the workers

Page 13: Mythical Man-Month

Project Failures

Page 14: Mythical Man-Month

Project Failures

Calendar time – The major cause of project mishaps.

Page 15: Mythical Man-Month

Project Failures

Calendar time – The major cause of project mishaps. Methods of estimation are poorly developed

Page 16: Mythical Man-Month

Project Failures

Calendar time – The major cause of project mishaps. Methods of estimation are poorly developed

Estimation techniques confuse effort with progress

Page 17: Mythical Man-Month

Project Failures

Calendar time – The major cause of project mishaps. Methods of estimation are poorly developed

Estimation techniques confuse effort with progress

Software managers lack courteous stubbornness due to uncertainty in estimates

Page 18: Mythical Man-Month

Project Failures

Calendar time – The major cause of project mishaps. Methods of estimation are poorly developed

Estimation techniques confuse effort with progress

Software managers lack courteous stubbornness due to uncertainty in estimates

Schedule progress is poorly monitored.

Page 19: Mythical Man-Month

Project Failures

Calendar time – The major cause of project mishaps. Methods of estimation are poorly developed

Estimation techniques confuse effort with progress

Software managers lack courteous stubbornness due to uncertainty in estimates

Schedule progress is poorly monitored.

Manpower is added when schedule slippage is recognized

Page 20: Mythical Man-Month

Systems Test

Page 21: Mythical Man-Month

Systems Testing

Testing is the most mis-scheduled part of programming

Page 22: Mythical Man-Month

Systems Testing

Testing is the most mis-scheduled part of programming– Optimism allows us to expect less bugs than will actually

turn up.

Page 23: Mythical Man-Month

Systems Testing

Testing is the most mis-scheduled part of programming– Optimism allows us to expect less bugs than will actually

turn up.

– Failing to give enough time for testing allows for failure to come at the end

Page 24: Mythical Man-Month

Gutless Estimation

False Scheduling to match a patron's desired date is common in software engineering discipline but is rarely seen elsewhere in engineering

Page 25: Mythical Man-Month

Gutless Estimation

False Scheduling to match a patron's desired date is common in software engineering discipline but is rarely seen elsewhere in engineering

1/3 Planning

1/6 Programming

1/4 Component test

1/4 System Test

Page 26: Mythical Man-Month

Hatching a Catastrophe Disastrous schedule slippage is usually

caused by termites, not tornadoes.

Page 27: Mythical Man-Month

Hatching a Catastrophe Disastrous schedule slippage is usually

caused by termites, not tornadoes.

–Communication is key

Page 28: Mythical Man-Month

Hatching a Catastrophe Disastrous schedule slippage is usually

caused by termites, not tornadoes.

–Communication is key

–System down time, sickness, high-priority short, unrelated jobs, meetings, paperwork,

Page 29: Mythical Man-Month

Silver Bullet

Page 30: Mythical Man-Month

Silver Bullet– There is no silver bullet on the horizon

to improve in orders of magnitude productivity, reliability, or simplicity

Page 31: Mythical Man-Month

Silver Bullet– There is no silver bullet on the horizon

to improve in orders of magnitude productivity, reliability, or simplicity

– The hard part of building software is specification, design and testing the conceptual construct, not the labor

Page 32: Mythical Man-Month

Silver Bullet– There is no silver bullet on the horizon

to improve in orders of magnitude productivity, reliability, or simplicity

– The hard part of building software is specification, design and testing the conceptual construct, not the labor• Complexity - no two parts are the same. If two things do similar

things, they are merged

Page 33: Mythical Man-Month

Silver Bullet– There is no silver bullet on the horizon

to improve in orders of magnitude productivity, reliability, or simplicity

– The hard part of building software is specification, design and testing the conceptual construct, not the labor• Complexity - no two parts are the same. If two things do similar

things, they are merged

• Changeability - Code can be easily malleable and updated unlike cars/building

Page 34: Mythical Man-Month

Silver Bullet– There is no silver bullet on the horizon

to improve in orders of magnitude productivity, reliability, or simplicity

– The hard part of building software is specification, design and testing the conceptual construct, not the labor• Complexity - no two parts are the same. If two things do similar

things, they are merged

• Changeability - Code can be easily malleable and updated unlike cars/building

• Invisibility - reality of software is not inherently embedded in space - severs communication between mind

Page 35: Mythical Man-Month

Silver Bullet Continued

Page 36: Mythical Man-Month

Silver Bullet Continued The cost of software is development not

of replication

Page 37: Mythical Man-Month

Silver Bullet Continued The cost of software is development not

of replication The hardest single part of building a

software system is deciding precisely what to build

Page 38: Mythical Man-Month

Silver Bullet Continued The cost of software is development not

of replication The hardest single part of building a

software system is deciding precisely what to build

Clients themselves do not know what they want. requirements need to be constantly updated and reiterated meetings

Page 39: Mythical Man-Month

Conceptual Integrity

Page 40: Mythical Man-Month

Conceptual Integrity Conceptual integrity is the most

important consideration in system design

Page 41: Mythical Man-Month

Conceptual Integrity Conceptual integrity is the most

important consideration in system design

– System should reflect one set of design ideas

Page 42: Mythical Man-Month

Conceptual Integrity Conceptual integrity is the most

important consideration in system design

– System should reflect one set of design ideas – Ease of use is enhanced when time gained in

functional specification exceeds time lost in learning, remembering, and searching manuals.

Page 43: Mythical Man-Month

Conceptual Integrity Conceptual integrity is the most

important consideration in system design

– System should reflect one set of design ideas – Ease of use is enhanced when time gained in

functional specification exceeds time lost in learning, remembering, and searching manuals.

– Ratio of function to conceptual complexity is the ultimate test of system design.

Page 44: Mythical Man-Month

Aristocracy and Democracy

Page 45: Mythical Man-Month

Aristocracy and Democracy Group that decides the architecture Group that works on the

implementation

Page 46: Mythical Man-Month

Aristocracy and Democracy Group that decides the architecture Group that works on the

implementation

–Creativity exists in both

Page 47: Mythical Man-Month

Aristocracy and Democracy Group that decides the architecture Group that works on the

implementation

–Creativity exists in both

– Form can be liberating

Page 48: Mythical Man-Month

Aristocracy and Democracy When a small architecture team writes

all external specifications for a computer programming system, implementers raise three concerns

Page 49: Mythical Man-Month

Aristocracy and Democracy When a small architecture team writes

all external specifications for a computer programming system, implementers raise three concerns– Specifications will be too rich in function and fail to

reflect practical cost consideration

Page 50: Mythical Man-Month

Aristocracy and Democracy When a small architecture team writes

all external specifications for a computer programming system, implementers raise three concerns– Specifications will be too rich in function and fail to

reflect practical cost consideration – Architects will take all the creative fun and shut out the

inventiveness of the implementors

Page 51: Mythical Man-Month

Aristocracy and Democracy When a small architecture team writes

all external specifications for a computer programming system, implementers raise three concerns– Specifications will be too rich in function and fail to

reflect practical cost consideration – Architects will take all the creative fun and shut out the

inventiveness of the implementors

– Implementors will sit around waiting while architects come up with the specifications

Page 52: Mythical Man-Month

Aristocracy and Democracy– Specifications will be too rich in function and fail to reflect

practical cost consideration – Architects will take all the creative fun and shut out the

inventiveness of the implementors

– Implementors will sit around waiting while architects come up with the specifications

Page 53: Mythical Man-Month

Aristocracy and Democracy– Specifications will be too rich in function and fail to reflect

practical cost consideration – Architects will take all the creative fun and shut out the

inventiveness of the implementors

– Implementors will sit around waiting while architects come up with the specifications

Page 54: Mythical Man-Month

Aristocracy and Democracy– Specifications will be too rich in function and fail to reflect

practical cost consideration – Architects will take all the creative fun and shut out the

inventiveness of the implementors

– Implementors will sit around waiting while architects come up with the specifications

Total Creative effort:

– Architecture

– Implementation

– Realization