Dan Shue (dshue) CS 190 - Spring 2003 Mythical Man-Month Essay In "The Mythical Man-Month", Frederick P. Brooks writes about some fundamental software engineering practices that are clearly applicable to CS190. I wish to address 2 of them: conceptual integrity and extensive testing. Brooks starts off Chapter 4 by saying that "conceptual integrity is the most important consideration in system design" (p. 42). He argues for a system that is unified under one set of ideas rather than a system that has several sets of independent, uncoordinated ideas. Therefore, the design process must come from "one mind, or from a very small number of agreeing resonant minds" (p. 44). At first, I thought that this wasn't the best way to go about it, because in my mind, having more people brainstorming for ideas yields more productive results. In regards to CS 190, I thought that the requirements and specifications stages could have been done in groups, but now I see why we're doing them individually. If multiple people worked on the requirements and specifications, our current projects would have been a lot less clear and defined, making it harder for us to implement later on in the semester. Another important idea that Brooks mentions throughout his book is the concept of extensive testing, which is undoubtedly the most underestimated stage in any given project; in fact, Brooks argues that 50% of the time spent on a project ought to be devoted to testing and debugging. I read this before I started my CS 190 project, but because of my laziness and optimism, I didn't pay too much attention to testing while I was writing up my requirements and specifications. Hopefully, I'll be able to write up more specific testing procedures by the time we have to test our projects; otherwise, I'll have to suffer the consequences of not thinking ahead.