Previous
Architecture
Next

The first big mistake is to not even have a software architect. The second is have architects separated into their own architecture group. It's generally bad to separate authority and responsibility.

Some so called architects are actually extreme technologists, well versed in every facet of certain technologies, but unable to see the big picture. Many of these ivory tower architects and technologists have never actually successfully engineered a system.

I was the architect of an enterprise time, billing and accounting system for law firms. The system consists of 55 windows applications, specified by 5872 requirements. The system was completed in 1.5 years for a cost of $600k. It has been used by thousands of lawyers.

About a decade later, I came across a project that was in the same problem domain, very similar in scope and functionality. However, it cost several million dollars and took 4 years.

Software architecture is about making fundamental structural choices which are costly to change once implemented. The architecture of a software system is more closely related to its quality attributes such as fault-tolerance, backward compatibility, extensibility, reliability, maintainability, availability, security, usability.

The next risk