Saturday, March 19, 2011

Book Reading #17: The Mythical Man-Month

The Mythical Man-Month
Dr. Brooks
Addison Wesley Longman Inc.

Chapter 4-6:

 In these chapters we are exposed to more ideas about what happens with programming and how different kinds of phenomena can affect a program. The first one we look at is the idea of different political systems in program design. This is simply the idea that sometimes when a program is written there are some things that try to be improved and implemented but because of the aristocracy of program design conceptual integrity is pushed to the wayside and not really able to be maintained. In fact there are a lot of times that a program needs to be worked on more and there is a constant back and forth between the programmers and the program leaders, pointing fingers and one side saying that the other is doing them wrong. This leads us into what Brooks calls the second system effect which is the idea that the second time a program is written it sometimes needs to be improved and sometimes this doesn't happen because of the discipline of the team or the programmer. Simply put, the second time a program is written it doesn't need to be a rehashing of the first program using its based code and building on it, it can be a whole new idea and the best way to do this is by having a large amount of self-discipline while programming. These are practices that the programmer wants to watch but in some cases because of not following self-discipline these ideas can get out of control and the programmer will try to do too much and have the second version nor working nearly as well as the first. Again the programmer is encouraged to make the second version new and better but needs to be sure to keep it in the realm of doable and not overextend and try to do things that will not benefit the program and make it take longer to produce. Last is what Brooks calls "Passing the Word", that is, the idea of how a program is described from management to programmers and the various techniques that do and don't work. He discusses the difference between the manual, definitions, incorporation and various other means. He explored the use of multiple implementations, logs and product testing as ways to make sure that the program goes out. While each of these has strengths the programmer needs to remember what is important and be sure that he works with management and that each task is clear. Although each of these various ways to define and test a program have their merits, companies need to carefully evaluate each and if one fails not be afraid to try another.

This picture warrants an explanation. I took from him that bad managers can be snooty and high strung, kind of like the aristocrats pictured here.

These chapters were very interesting but in some cases lacked the information that I thought would be necessary to understand these. For example in the last chapter the author talks about formal definitions for three pages and really spills out what it means and how the various features work, but then only gives a paragraph on direct incorporation and almost challenges the reader to look up the rest of their own. I really felt that this would be something to consider but it was as if he was trying to push the ideas of doing manuals or definitions. Also the chapters on aristocracy seemed really informative and if I was a manager I would really want to understand the psychology between these groups then this is the kind of information I am looking for, however, it did seem like the two sides really bicker a lot and he just talks about the situation and really kind of brushes over solutions. I can tell that Dr. Brooks has a lot of experience and is really smart and his chapters are really interesting to read but sometimes I am wanting a practical example or a solution and he really just gives incite and not a lot on WHAT to do or HOW to do it. I would think knowing that he is writing this for computer scientists and knowing how into processes we are that he would think to give some examples and how he changed them even if the changes were on a case by case basis. The most interesting part of this was definitely the second system effect and the phenomena that surrounds it. That kind of information will really stick with me and he even gave a small example of how he insulted Microsoft but ultimately was able to make them a really good product. It was well done and I wished that he wrote all his chapters in that style and it is an idea that will definitely stick with me in my professional career.

No comments:

Post a Comment