- Complexity - it took a long time to fix problems due to the fact that we did not had a domain model and the business rules where scared throughout the code
- Poor performance - the application was slow
- Scalability - we had to invest a lot of money in hardware because the application was not scaling to the amount of users
Ultimately, the team had to explain to the business why we had to take a long time re-factoring the code. Not only we jeopardize architecture over speed, but we missed to explain the causes and effects of this decision. I stumbled on a book in Barnes and Noble named: 97 Things Every Software Architect Should Know. If the team would have applied some of the followings, the project would have been such a great success:
All these items are very true indeed and I am taking them in consideration in my current and future projects. Eventually the company was hit hard with the US recession and Miami's Real-estate. The entire team was laid off.