Monday, March 21, 2011

The Mythical Man-Month Ch. 4-6

The Mythical Man-Month

Ch. 4-6
Brooks, Frederick P
Addison-Wesley, 1995
 
Summary:
In chapter 4 the author discusses the importance of system design. According to the author, the design of a system's architecture is one of the most important aspects of a software project. As a result, the architecture of a system should be designed by as few people as possible. The author also discusses the importance of usability in the system's design. According to the author it is more important to achieve a more usable system rather than a system that has a large amount of features but is difficult to use. The author also suggests that the design of a system and the implementation of a system be handled by at least two different people.

In chapter 5 the author discusses second systems. According to the author, a designer's second system is more at risk of mistakes than his first due to the fact that the designer will take the knowledge gained from his first attempt and immediately apply it to the second attempt. This can cause the designer to not put enough time and effort into the design. To remedy this the author suggests that designers create a throw-away implementation before designing the actual system. This will allow the designer to spot flaws in his design and will hopefully cause him to be more careful on his next attempt.

Chapter 6 focuses mostly on documentation for software projects. The manual is the documentation that the end user will be seeing. The manual should provide a reference to everything that the user can interact with but should not go into implementation details or anything behind the scenes. The author suggests that the code of the software is the best definition of the software but is not a practical means of documentation.

Discussion:
This reading is interesting because it discuses the importance of system design to the overall success of a project. However, I think that having different people or parties designing and implementing the system can be just as troublesome as having the same person design and implement the system. Personal conflicts or poor communication can cause projects to fail when different parties design and implement the software. This work can be applied to designers who are beginning to design a software system.

No comments:

Post a Comment