author: ychatura date: 2-22-06 For the CS32 final project, I worked in a group of 4 implementing the Monopoly game. At the beginning, we discussed and wrote the specifications together and divided up the parts. Then each of us coded and tested individually to make sure everything was ready for integration. In other words, everybody was the architect and the implementer at the same time. Even for a small project like CS32, I have found that democracy was not suitable for software design. In the first integration, we discovered that original design did not work and the flow of control needed to be changed. By then, most of the classes had been written and nobody wanted to rewrite their codes. Because nobody had the authority to make the decision, we had interminable discussions to get everyone to agree on the issue. As a result, most problems and different ideas were settled by group discussions and compromise. Even though the project was completed, the final specifications did not achieve conceptual integrity. If we were to scale up the project by adding new features, it would be easier to come up with a different design. As the book pointed out that conceptual integrity of a system determines its ease of use, I believe that specifications should represent a single mind and not a compromise of many ideas.