Monday, April 18, 2011

The Mythical Man-Month Ch 16-17


Reference Information
Title: The Mythical Man-Month
Author: Frederick P. Brooks
Publisher: Addison-Wesley

Summary
The first chapter was "No Silver Bullet", a paper written in 1986 about the state of programming and the lack of a magical solution to improve programs by an order-of-magnitude. There are two major types of difficulties with software: essential (difficulties that are inherent in the nature of software) and accidental (those difficulties that attend to production but are not inherent). Complexity, changeability, conformity, and invisibility are all essential challenges that come with programming and must be considered. Breakthroughs that have been helpful in improving accidental issues associated with programming include high level languages, time-sharing, and unified programming environments. The author discussed topics that show promise for improving software, such as AI (he did not think this would be helpful) and object-oriented programming. The most promising improvements are the fact that general software can now be bought for cheap, incremental development, and developing great software designers.
There is no silver bullet, magical solution. Source: socialwants.com
The second chapter was the author's evaluation of the "No Silver Bullet" paper. He defines many of the terms used in the paper in terms that he finds to be more understandable and evaluates a few other peoples' critiques of "No Silver Bullet", including the idea that productivity follows from quality of software. The buying instead of  building of general software is recommended and object-oriented techniques are praised. The idea of reusing code is considered, which requires more expense up front and larger vocabularies to learn.


Discussion
The "No Silver Bullet" paper presented some interesting ideas, such as the idea that there is no magical solution to solve all software issues. However, the paper was so out-of-date for present time that it made it seem rather pointless to read. The object-oriented programming discussion was outdated since it is currently in use, and the argument that graphical software is pointless due to small screens is rather moot now. However, I did like the idea of incremental development, as it seems like what we are currently doing with our Capstone project, incrementally issuing working versions of our product that slowly increase in functionality.

Also, the author's discussion about the paper seemed rather odd, since he was critiquing critiques of the paper. Also, the even these arguments were slightly outdated, especially the arguments that object-oriented programming can be infeasible due to training costs; today most programmers are taught object-oriented programming from the start. Once again, though there were some helpful points, including the suggestion to buy software instead of creating specialized, expensive software tools. This information could be applied to future products to keep in mind that there is no magical solution, but there are many helpful tools available to use.

No comments:

Post a Comment