propositions of the mythical man-month: true or false? are the topics proposed in 1975 still valid?

22
Propositions of The Propositions of The Mythical Man-Month: Mythical Man-Month: True or False? True or False? Are The Topics Proposed Are The Topics Proposed in 1975 Still Valid? in 1975 Still Valid?

Upload: cassie-eldred

Post on 31-Mar-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Propositions of The Mythical Man-Month: True or False? Are The Topics Proposed in 1975 Still Valid?

Propositions of The Propositions of The Mythical Man-Month: True Mythical Man-Month: True

or False?or False?Are The Topics Proposed in 1975 Are The Topics Proposed in 1975

Still Valid?Still Valid?

Page 2: Propositions of The Mythical Man-Month: True or False? Are The Topics Proposed in 1975 Still Valid?

Look back on the Topics from 1975 Look back on the Topics from 1975 in 1995 to see if they hold Truein 1995 to see if they hold True

Fredrick Brooks takes a look Fredrick Brooks takes a look back on all the topics he back on all the topics he discussed back in 1975 to discussed back in 1975 to determine if they are still validdetermine if they are still valid

Page 3: Propositions of The Mythical Man-Month: True or False? Are The Topics Proposed in 1975 Still Valid?

The Tar PitThe Tar Pit

Programming a Programming a commercial commercial program takes 9 program takes 9 times longer times longer than a privately than a privately used programs.used programs.

Programmers Programmers still have the still have the same joys and same joys and woes as before.woes as before.

Page 4: Propositions of The Mythical Man-Month: True or False? Are The Topics Proposed in 1975 Still Valid?

The Mythical Man MonthThe Mythical Man Month

Good programs take time.Good programs take time. Putting proper time Putting proper time

requirements on program requirements on program development is difficult.development is difficult.

Brook’s Law: Adding manpower Brook’s Law: Adding manpower to a late software project makes to a late software project makes it later!it later!

Page 5: Propositions of The Mythical Man-Month: True or False? Are The Topics Proposed in 1975 Still Valid?

The Surgical TeamThe Surgical Team

Good programmers Good programmers are 10 times more are 10 times more productive than poor productive than poor ones even with same ones even with same experience.experience.

Fewest minds on a Fewest minds on a project is bestproject is best

A surgical team can A surgical team can keep the few mind keep the few mind structure but still get structure but still get the productivity of the productivity of many workers.many workers.

Page 6: Propositions of The Mythical Man-Month: True or False? Are The Topics Proposed in 1975 Still Valid?

Aristocracy, Democracy, and Aristocracy, Democracy, and System DesignSystem Design Conceptual integrity is the most Conceptual integrity is the most

important consideration in system important consideration in system design.design.

The ratio of function to concept The ratio of function to concept complexity is the best test, which complexity is the best test, which comes from a small group of minds comes from a small group of minds that separates architectural effort that separates architectural effort from implementation with one person from implementation with one person in control of concepts.in control of concepts.

A concept integrated system is fast A concept integrated system is fast to build and much of software to build and much of software development can be done in parallel.development can be done in parallel.

Page 7: Propositions of The Mythical Man-Month: True or False? Are The Topics Proposed in 1975 Still Valid?

The Second System EffectThe Second System Effect

Good communication by the Good communication by the architect can give good estimates for architect can give good estimates for the project and also influence the project and also influence implementation of the project.implementation of the project.

The second project is the most The second project is the most dangerous a person will design due dangerous a person will design due to over design. to over design.

OS/360 is a good example of this.OS/360 is a good example of this.

Page 8: Propositions of The Mythical Man-Month: True or False? Are The Topics Proposed in 1975 Still Valid?

Passing the WordPassing the Word

The results and implmenation The results and implmenation need to be consistent, very need to be consistent, very detailed, formal, and follow a detailed, formal, and follow a standard.standard.

Any questions that an Any questions that an implementer has for the implementer has for the architect should be answered, architect should be answered, then well documented and then well documented and published.published.

Page 9: Propositions of The Mythical Man-Month: True or False? Are The Topics Proposed in 1975 Still Valid?

Why Did the Tower of Babel Fail?Why Did the Tower of Babel Fail?

There was a lack of There was a lack of communication which in communication which in programming leads to programming leads to scheduling problems, scheduling problems, functionality problems, functionality problems, and bugs.and bugs.

A formal workbook can A formal workbook can help with communication.help with communication.

The workbook is all the The workbook is all the documents of the project documents of the project and should be made and should be made carefully and early.carefully and early.

It needs to be properly It needs to be properly structured, visible and structured, visible and updated quickly.updated quickly.

It is important to note It is important to note changes.changes.

Page 10: Propositions of The Mythical Man-Month: True or False? Are The Topics Proposed in 1975 Still Valid?

Why Did the Tower of Babel Fail? cont.Why Did the Tower of Babel Fail? cont.

Organization reduces the amount of Organization reduces the amount of communication necessary.communication necessary.

The communication structure is a The communication structure is a network not a tree, so special network not a tree, so special organization needs to be created.organization needs to be created.

Each subproject needs two leaders, Each subproject needs two leaders, the producer and the director.the producer and the director.

They can be the same or one can be They can be the same or one can be over the otherover the other

Page 11: Propositions of The Mythical Man-Month: True or False? Are The Topics Proposed in 1975 Still Valid?

Calling the ShotCalling the Shot

Estimating the total project time can’t be done by Estimating the total project time can’t be done by estimating coding time and adding other factors.estimating coding time and adding other factors.

Programming increasing as a power of the Programming increasing as a power of the program size which is estimated to be about 1.5.program size which is estimated to be about 1.5.

Portman’s ICL data shows programmers apply Portman’s ICL data shows programmers apply 50% of their time to programming and debugging 50% of their time to programming and debugging vs. other types of tasks.vs. other types of tasks.

Aron’s IBM data shows productivity ranges from Aron’s IBM data shows productivity ranges from 1.5K lines of code (KLOC) per man-year (MY) to 1.5K lines of code (KLOC) per man-year (MY) to 10KLOC/MY10KLOC/MY

Harr’s Bell labs and Brook’s OS/360 data show Harr’s Bell labs and Brook’s OS/360 data show the KLOC/MY to be 0.6 for operating system the KLOC/MY to be 0.6 for operating system works and 2-3 KLOC/MY for complier work.works and 2-3 KLOC/MY for complier work.

Productivity can increase as much as 5 fold when Productivity can increase as much as 5 fold when using higher level programming languages. using higher level programming languages.

Page 12: Propositions of The Mythical Man-Month: True or False? Are The Topics Proposed in 1975 Still Valid?

Ten Pounds in a Five Pound SackTen Pounds in a Five Pound Sack

Principle Costs in a program are memory, Principle Costs in a program are memory, and unnecessary size is wasteful.and unnecessary size is wasteful.

Size budgets must be set and followed by Size budgets must be set and followed by disk accesses and function assignmentsdisk accesses and function assignments

System architects need to be careful that System architects need to be careful that sub-teams don’t optimize their section of sub-teams don’t optimize their section of code so that it hurts the rest of the program.code so that it hurts the rest of the program.

Programmers need to be trained in Programmers need to be trained in techniques of specific languages too help techniques of specific languages too help space-time tradeoffs and use program space-time tradeoffs and use program libraries.libraries.

Most improvement break-throughs are done Most improvement break-throughs are done with new algorithms by redoing data with new algorithms by redoing data representation. representation.

Page 13: Propositions of The Mythical Man-Month: True or False? Are The Topics Proposed in 1975 Still Valid?

The Documentary HypothesisThe Documentary Hypothesis

Documentation is very important, even Documentation is very important, even smaller projects, which includes smaller projects, which includes manuals, internal documents manuals, internal documents schedules, etc. schedules, etc.

Each document is a checklist to Each document is a checklist to provide a warning if something goes provide a warning if something goes wrong.wrong.

The project managers job is to keep The project managers job is to keep the team going in the right direction the team going in the right direction through communication, the through communication, the documents do the instructing.documents do the instructing.

Page 14: Propositions of The Mythical Man-Month: True or False? Are The Topics Proposed in 1975 Still Valid?

Plan to Throw One AwayPlan to Throw One Away

Alpha and beta versions of Alpha and beta versions of projects are important. projects are important.

The alpha version will most The alpha version will most likely be totally discarded and likely be totally discarded and redesigned but is still given to redesigned but is still given to the customer to buy time.the customer to buy time.

It is important to document It is important to document changes made and keep changes made and keep number versions.number versions.

Page 15: Propositions of The Mythical Man-Month: True or False? Are The Topics Proposed in 1975 Still Valid?

Plan to Throw One Away cont.:Plan to Throw One Away cont.:Plan the Organization For ChangePlan the Organization For Change

Designing a changing organization is Designing a changing organization is harder than designing a system for harder than designing a system for change.change.

The boss must keep the mangers The boss must keep the mangers and technical people and technical people interchangeable as abilities allow, interchangeable as abilities allow, and the barriers are only and the barriers are only sociological.sociological.

This can be difficult to set up but with This can be difficult to set up but with a surgical team it will make it a lot a surgical team it will make it a lot easier.easier.

Page 16: Propositions of The Mythical Man-Month: True or False? Are The Topics Proposed in 1975 Still Valid?

Plan to Throw One Away cont.:Plan to Throw One Away cont.:Two Steps Forward One Step BackTwo Steps Forward One Step Back

The cost of maintenance is about 40% the The cost of maintenance is about 40% the cost of development, and the more users cost of development, and the more users the more bugs are found.the more bugs are found.

There is a decent chance that a bug fix will There is a decent chance that a bug fix will introduce another bug, so all the test cases introduce another bug, so all the test cases must be run again.must be run again.

Designing the program to have little side Designing the program to have little side effects greatly pay off in maintenance effects greatly pay off in maintenance costs.costs.

The more fixes introduced into the program The more fixes introduced into the program the more the design fails and makes the the more the design fails and makes the entire program require to be redone.entire program require to be redone.

Page 17: Propositions of The Mythical Man-Month: True or False? Are The Topics Proposed in 1975 Still Valid?

Sharp ToolsSharp Tools

Debugging machines Debugging machines need maximum memory need maximum memory instead of maximum instead of maximum speed and it needs to speed and it needs to automatically measure automatically measure all the program all the program parameters.parameters.

Setting computer usage Setting computer usage time in blocks helps time in blocks helps raise productivity.raise productivity.

Building a simulator Building a simulator early is very helpful early is very helpful especially when it is especially when it is listened to.listened to.

High level languages High level languages improve productivity and improve productivity and debugging.debugging.

Page 18: Propositions of The Mythical Man-Month: True or False? Are The Topics Proposed in 1975 Still Valid?

The Whole and The PartsThe Whole and The Parts

Designing the system before building is Designing the system before building is very important and needs to be reviewed very important and needs to be reviewed by an outside source.by an outside source.

Gold’s experiment shows that the second Gold’s experiment shows that the second debugging session will only reveal 1/3 of debugging session will only reveal 1/3 of what the first session did.what the first session did.

Debugging will be harder and take longer Debugging will be harder and take longer than planned.than planned.

System debugging should only begin when System debugging should only begin when component debugging is complete and component debugging is complete and components should only be added one at a components should only be added one at a time.time.

Code used only to test the system may Code used only to test the system may take up almost 50% of the used code.take up almost 50% of the used code.

Page 19: Propositions of The Mythical Man-Month: True or False? Are The Topics Proposed in 1975 Still Valid?

Hatching a CatastropheHatching a Catastrophe

Schedule slippage is hard Schedule slippage is hard to stop.to stop.

It is important to have a It is important to have a schedule with specific schedule with specific goals.goals.

Repeated schedule Repeated schedule slipping is bad for moral, slipping is bad for moral, but hustling is great for but hustling is great for teams.teams.

The critical path chart tells The critical path chart tells which slip matters how which slip matters how much.much.

The actual status might be The actual status might be hard to get since a boss hard to get since a boss doesn’t want to reveal it.doesn’t want to reveal it.

A milestone schedule and A milestone schedule and completion document help completion document help get around this.get around this.

Page 20: Propositions of The Mythical Man-Month: True or False? Are The Topics Proposed in 1975 Still Valid?

The Other FaceThe Other Face

The face the user sees is the The face the user sees is the documentation is just important as the face documentation is just important as the face to the machine.to the machine.

The importance for documentation has not The importance for documentation has not be instilled into programmers.be instilled into programmers.

Most documentation does not overview Most documentation does not overview enough.enough.

It is important to keep the documentation in It is important to keep the documentation in the source code.the source code.

It is important to document why things are It is important to document why things are rather than just how they are.rather than just how they are.

Page 21: Propositions of The Mythical Man-Month: True or False? Are The Topics Proposed in 1975 Still Valid?

Image SourcesImage Sources

http://www.silverbulletinc.com/images/http://www.silverbulletinc.com/images/computermag.gifcomputermag.gif

http://www.livingorgandonor.org/Images/http://www.livingorgandonor.org/Images/trans13.jpgtrans13.jpg

http://www.kirchersociety.org/blog/wp-http://www.kirchersociety.org/blog/wp-content/uploads/2006/02/kircherbabel.jpgcontent/uploads/2006/02/kircherbabel.jpg

http://mimikirchner.com/blog/images/http://mimikirchner.com/blog/images/3:18:tools.jpg3:18:tools.jpg

http://lerevdr.files.wordpress.com/http://lerevdr.files.wordpress.com/2007/08/hiroshima-atomic-bomb.jpg2007/08/hiroshima-atomic-bomb.jpg

Page 22: Propositions of The Mythical Man-Month: True or False? Are The Topics Proposed in 1975 Still Valid?

Questions?Questions?