Software Architecture dictates business models.
I have spent the last few years trying to understand what cloud trends mean for enterprise software architectures and enterprise software companies. I have come to realize that software architecture is of paramount importance to a company's revenues. Software architecture fundamentally dictates your business models. How you can sell, how you can integrate and how you can partner; all this is dictated by your software architecture. Unfortunately the architecture of products are often decided by people with no inherent sense of this. Software architecture is treated primarily a technical function, and often architectural decisions are made on the back of technological evaluations; this library is faster than that library etc. However when we make an architectural decision we often fail to take the far reaching decisions into account. The new web, (web 2.0, async, web technologies, SaaS etc) demands many changes of enterprise software.