The Mythical Man-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies...
Transcript of The Mythical Man-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies...
![Page 1: The Mythical Man-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/1.jpg)
The Mythical Man-Month
Tony PriddyApril 21, 2009
Frederick P. Brooks, Jr.
![Page 2: The Mythical Man-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/2.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/3.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/4.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/5.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/6.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/7.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/8.jpg)
8
The Tar PitProgramming Systems Product
![Page 9: The Mythical Man-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/9.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/10.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/11.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/12.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/13.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/14.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/15.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/16.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/17.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/18.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/19.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/20.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/21.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/22.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/23.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/24.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/25.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/26.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/27.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/28.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/29.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/30.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/31.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/32.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/33.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/34.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/35.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/36.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/37.jpg)
37
The Surgical TeamComparison
Surgeon
Administrator
Secretary
Editor
Secretary
Copilot
Programming Clerk
Toolsmith
Tester
Language Lawyer
![Page 38: The Mythical Man-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/38.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/39.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/40.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/41.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/42.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/43.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/44.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/45.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/46.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/47.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/48.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/49.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/50.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/51.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/52.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/53.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/54.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/55.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/56.jpg)
56
Passing the WordProduct Test• Independent testers are surrogate customers• When communication fails, testers identify the
breakdown
![Page 57: The Mythical Man-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/57.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/58.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/59.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/60.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/61.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/62.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/63.jpg)
63
Calling the Shot
• Estimating– System development estimates include:
• Planning time• Coding• Testing• System integration• Training times• Documentation• Etc.
![Page 64: The Mythical Man-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/64.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/65.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/66.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/67.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/68.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/69.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/70.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/71.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/72.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/73.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/74.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/75.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/76.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/77.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/78.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/79.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/80.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/81.jpg)
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-Monthhossein/Teaching/Sp16/...The Mythical Man-Month. The Man-Month • Cost varies as the product of the number of men and months • Progress does not • Man-Month](https://reader034.fdocuments.us/reader034/viewer/2022051410/603b58604d2ef8659f6cec8e/html5/thumbnails/82.jpg)
82
Questions