Professional Documents
Culture Documents
engineering I
Mythical man-month lecture
Presented by Yi Luo
acknowledge
the slides of Dr. Robert W. Franceschinis software life cycle class, EEL
6887, Spring 2007.
Wikipedia
http://en.wikipedia.org/wiki/The_Mythical_Man-Month
a book on software
project management
central theme :
"Adding manpower to
a late software project
makes it later."
overview
x3
A program
[Brooks, Chapter 1]
A programming system
(interfaces, system integration)
x3
A programming product
(generalization, testing,
documentation, maintenance)
Making things
that others find useful.
Making complex objects out of parts.
Continuous learning because the task
is always different.
Using tools and materials that do
not degrade.
According to Brooks:
harvest
8
7
Months
6
5
4
3
2
1
0
0
10
People
5
4
3
2
1
0
0
10
People
90
80
70
60
Cost
Months
50
40
30
20
10
0
0
5
People
10
Months
12
10
8
6
4
2
0
0
10
People
People
0
0
Months
Late project, 2
5
People
0
0
Months
Late project, 3
5
People
0
0
Months
[Brooks, Chapter 3]
Issues
Productivity varies widely among individuals.
Want as few, highly productive individuals as
possible.
But, need to be able to scale to large software
systems.
Surgical Team
A proposal
Chief Programmer
Co-pilot
Administrator
Secretary
Programming clerk
Toolsmith
Editor
Secretary
Tester
Language lawyer
Aristocracy, Democracy
and System Design [Brooks, Chapter
4]
Self-discipline
Play it conservative
Make sure to do the job right
Scrupulously keep added features out
Architect
Project Manager
[Brooks, Chapter 6]
Written specifications
Formal definitions
Direct incorporation
Conferences
Multiple implementations
Telephone log
Product test
There were:
A clear mission
Enough resources (people and materials)
Enough time
Proper technology
Communication in Software
Project
Team 1:
Team 2:
Informally
Meetings
Workbook
Progress Tracking
Conceptual Integrity
A single chief architect, acting on the user's behalf, decides what goes in the
system and what stays out.
A "super cool" idea by someone may not be included if it does not fit
seamlessly with the overall system design.
The point is that if a system is too complicated to use, then many of its
features will go unused because no one has the time to learn how to use
them.
The Manual
Formal Documents
Project Estimation
Communication
Specialized Tools
Thank you
Questions?