Reference:
The Mythical Man Month
Frederick P. Brooks
1995 Addison Wesley
Summary:
Ch 1 -
When people make the claim "I could write a program that does task X better than what is commercially available," they are probably right. However, they don't take into account that they are programming something for one particular system, and that to make it viable for multiple platforms it must be generalized and maintained. Programming fulfills a desire to create things that are useful to many people, and it provides a sense of fulfillment. However, a byproduct of the way programming works is that it has to be perfect, a task which is not necissarily required in everyday life. While "good enough" will suffice in most situations, one error can bring an entire program crashing down. In many cases it seems like programming is a mire where ideas get trapped due to the darious problems associated with it.
Ch 2-
Despite the fact that many programs end up limited by amount of time put into them, programmers remain optimistic. We always assume that "it will surely work this time" while all evidence points to the contrary. Programming is not like other tasks: one simply cannot accurately estimate how much time will be needed to complete a project based on its size and the number of people working on it. In fact, adding more people to a project can often increase the amount of time needed to finish a product, as each new person assigned must be brought up to speed. While the development of a program may be constrained by a customer's schedule, the completion of it is certainly not. In the end, most program developments that go awry do so because of a lock of calendar time than any other reason.
Ch 3-
Discussion:
No comments:
Post a Comment