lmolinar While reading The Mythical Man-Month I am reminded of the numerous problems involved with my cs32 project. The project was a Virtual Fish Tank that included fish with personalities adjusted by the user (AI component) and chat component available over a network. The group consisted of three classmates and myself. The failure of the project to meet specifications was a result of three problems highlighted in the Mythical Man-Month: the optimism of programmers, allowing enough time for testing and conceptual integrity. Brooks consistently refers to the undying optimism of programmers. My group considered the program to be easy to code and integrate, with extra room for additional features and extensions. Several members delayed starting to code their portion of the project until mid-semester and, as a result, never really finished. What seemed like a simple task at first turned into a mess by the end of the semester. The major flaw in our project was the lack of time dedicated to testing. Brooks suggests using half of your time for system and component testing. For the 32 project, 3 out of 4 of the components had about a week to do all testing. The fourth, and most important, component, the GUI, wasn't finished until demo day. As a result, the AI was poorly tested. Creating virtual fish with personalities that determine their swimming habits was extremely difficult without visuals. Testing was virtually non-existent for the project as a whole. The third and final flaw with our project was lack of conceptual integrity. Brooks states that 'conceptual integrity is the most important consideration in system design.' My group's project was a mishmash of ideas. Each component was individually designed with little regard for the project as a whole. Throughout coding, interfaces were changed and hacked into a workable form. In the Mythical Man-Month, Brooks highlights some interesting strategies for avoiding several problems I encountered with my cs32 final project.