Reference Information
Title: The Mythical Man-Month
Author: Frederick P. Brooks
Publisher: Addison-Wesley
Summary
The need for documents was discussed, presenting the different kinds of documents that are needed for various jobs. These need to answer what, when, how much, where, and who. Generally, these include objectives (defining what needs to be met), specifications (including the manual), schedule, budget (forces decisions to be made), organization chart (describing those working on the project), and space allocations. Formal documentation is necessary to have decisions in writing for easier communication and to give the manager a way to see where he is and changes are needed.
The idea of planning to throw away a system was discussed, since the first system is generally only barely usable. Change must be accepted as a part of building a system, since many things can change, including the user's needs and requirements. As development proceeds, the number of changes necessary increases. To plan for changes, a system must have careful modularization, extensive subroutining, precise and complete definitions of intermodule interfaces, complete documentation, use of a high-level language, and version numbers. There needs to be a proper amount of management control in order to create an organization that allows for change in the program. Program maintenance is necessary once the product has been released, and bugs often reappear in later releases since fixing one defect has a good chance of creating a different one.
![]() |
The first system should be planned to throw away. Source: blogs.bgsu.edu |
Discussion
I think these chapters presented some very good points about the actual building process of a programming project. Some of the suggestions and comments were outdated and the job hierarchy of managers and such that was constantly being used was a little difficult to understand since I have not had much experience in a work place. This made parts of the chapters confusing, but overall, the points made were useful. The importance of documentation, constantly changing and improving a system, and having the required tools for programming were good points, and I believe these could be applied to future projects to improve them, such as making sure to have structured documentation so that everyone in the group knows what is going on.
No comments:
Post a Comment