slide tmmm.1/28 the mythical man-month. slide tmmm.2/28 overview fred brooks and os/360 the mythical...

28
Slide TMMM.1/28 The Mythical Man-Month

Upload: walter-george

Post on 18-Jan-2016

218 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.1/28

The

Mythical

Man-Month

Page 2: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.2/28Overview

• Fred Brooks and OS/360

• The Mythical Man-Month

• What has and has not changed?

• No Silver Bullet

• Analysis

Page 3: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.3/28Frederick P. Brooks Jr.

Page 4: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.4/28Frederick P. Brooks Jr.

• Undergraduate degree in physics from Duke University in 1953.

• Master's and Doctorate degrees in computer science from Harvard University

• Left IBM in 1965 to found the Department of Computer Science at UNC-Chapel Hill

• Won the 1999 A.M. Turing Award, considered the “Nobel Prize of Computing”

Page 5: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.5/28OS/360

• 5000 man-years of effort at IBM

• Introduced in 1963 but not completed until 1968

• Fred Brooks was IBM’s project manager between 1964 and 1965

• Still used today in a new form as OS/390, the old source is almost completely gone

Page 6: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.6/28The Man-Month Myth

“Cost does indeed vary as the product of the number of men and the number of months. Progress does not. Hence the man-month as a unit for measuring the size of a job is a dangerous and deceptive myth. It implies that men and months are interchangeable.”

-Fred Brooks

Page 7: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.7/28Men to Months Relation

Partitionable Task

Men

Mo

nth

s

Unpartitionable Task

Men

Mo

nth

s

Communication Required

Men

Mo

nth

s

Complex Interrelationships

Men

Mo

nth

s

Page 8: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.8/28Brooks’s Law

• Adding manpower to a late software project makes it later.– We can always create schedules with fewer men and more

months– We cannot always create schedules with more men and

fewer months» “More Software projects have gone awry for lack of calendar time

than for all other causes combined”

-Fred Brooks

Page 9: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.9/28Why is adding people late bad?

• There are three reasons for this:

– The work and disruption or repartitioning jobs

– The time consumed training new people

– The added intercommunication between people» There is a [n(n-1) / 2] increase in effort

Page 10: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.10/28Architecture vs. Implementation

• Keeping the “what” separate from the “how”

• Conceptual Integrity– It is better to eliminate some frills and functionality to

preserve the design ideas than to use “many good but independent and uncoordinated ideas”

Page 11: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.11/28Aristocracy vs. Democracy

• Who is in control of design?

• What happened on OS/360?– 10 Architects vs. 150 Implementers – The architecture manager said it would take his 10 good

men 10 months to write the specifications, 3 months over the schedule

– The control program manager said the 160 men could finish the specifications on time, and wouldn’t have the 150 implementers “twiddling their thumbs for 10 months”

Page 12: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.12/28Woops!

• Despite the architecture manager’s warnings Brooks had all 160 men do the specifications– The work was still 3 months late and it was of much lower

quality than it could have been– The conceptual integrity was breached and the cost of the

system went up– An estimated extra year of debugging took place

Page 13: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.13/28The Surgical Team

Surgeon

Administrator Editor Copilot

Secretary Secretary Programming Clerk

Tester

Tool-smith

Language Lawyer

Page 14: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.14/28System Debugging

• Debug the components before the system– Even using a component that has a known bug can cause

unpredictable, and unusable results in system debugging

• Use scaffolding– “Dummy components” – a.k.a. stubs

• Replacing a debugged, working component with a newer debugged, working component does not mean you can skip testing!

Page 15: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.15/28Two Steps Forward and One Step Back

Bugs Found vs. Age

Months since installation

Bu

gs

fou

nd

per

mo

nth

Page 16: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.16/28Documentation

• What is required?– How to use the program– Why to believe the program– How to modify the program

• Self-Documenting Programs

Page 17: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.17/28What has changed?

• Some things changed due to technology making some techniques mentioned obsolete– Documentation– Workstations– WWW– Disk space and memory

• Brooks did change his mind on the subject of information hiding proposed by Parnas

Page 18: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.18/28Information Hiding

• The idea that development is improved by hiding the technical details of the separate pieces of the system

• On what Brooks originally called a “recipe for disaster” he now writes: “I have been quite convinced otherwise by Parnas, and totally changed my mind.”

Page 19: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.19/28Waterfall vs. Incremental

• Must be able to “swim upstream”

• Harlan Mills’ incremental development model– A.K.A. the spiral model

Page 20: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.20/28So what’s the point?

• The practices of the software engineering community have changed very little over the last 30 years, and the mistakes being made then are still being made today.

Page 21: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.21/28No Silver Bullet - 1986

“There is no single development, in either technology or management technique, which by itself promises even one order of magnitude improvement in productivity in reliability, in simplicity.” - Fred Brooks

Page 22: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.22/28Why is this?

• Past advancements such as high level languages haven’t been on the essence of development:– Complexity– Conformity– Changeability– Invisibility

Page 23: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.23/28Hopes for the silver bullet

• Object Oriented Programming and Design– Why does it fail?

• Large Scale Reuse– Why should we make what we can buy instead?

Page 24: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.24/28Brad Cox

• “The innovation is a paradigm shift, redefining what it means, or better what it should mean, to say we buy, sell, or own objects made of bits.”

• Which is more complex?– A pencil– Microsoft Word Version 3.1

Page 25: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.25/28Brad Cox

• Microsoft Word Version 3.1 – 8 programmers (not counting documentation and testing)

• A pencil– Timber from California and Oregon– Graphite imported from Ceylon– Clay from Mississippi– Candelilla wax imported from Mexico– Lacquer produced

Page 26: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.26/28Analysis

• The very high cost of “manufacturing” reusable components which contributes to the already slow paradigm shift means that this wont be a revolution

• In the long run I agree with Brooks’ assessment that the process of improving development is going to be a slow evolutionary process, and not the revolution everyone keeps hoping for

Page 27: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.27/28Resources

• Frederick P. Brooks Jr. The Mythical Man-Month. Addison-Wesley, 1995

• Brad Cox, No Silver Bullet Revisited, http://www.virtualschool.edu/cox/AmProTTEF.html

• Information on Fred Brooks, http://www.cs.unc.edu/Events/News/TuringAward.html

Page 28: Slide TMMM.1/28 The Mythical Man-Month. Slide TMMM.2/28 Overview Fred Brooks and OS/360 The Mythical Man-Month What has and has not changed? No Silver

Slide TMMM.28/28

TheMythical

Man-Month

The End