Friday, September 4, 2009

On BA Chapter Two

The Messy Metropolis was not a good architecture by any metric and all its flaws went beyond the design. They find their roots into the development process and company culture. Under these conditions any new architecture would be doomed to fail. In contrast, the Design Town, even though a very similar software project to Messy Metropolis, was the result of many positive factors: from doing intentional upfront design by experienced designers, a team carefully chosen and responsible for the overall design of the software, good project management and generally making the right decisions at the appropriate time.

However, I feel that the two architectures are hardly comparable. There is no such thing as inherently good or bad architecture; it is only a matter of how fit the architecture is to its stated purpose. Having as the sole goal to “deliver yesterday” for the Messy Metropolis is like having no goal at all and Messy Metropolis should be conferred another name: Ghost Town, a town where maybe only a very experienced designer would “draw” faster in front of a management with such demands and where the good designer’s days would still be numbered.

Judging software architectures should be done only in the context of their specific goals. Furthermore, comparing architectures should be done only within the same context, when architectures have similar purposes. A legitimate example of a comparison of two architectures may be the debate on REST vs. SOAP. Both REST and SOAP have a slightly similar general purpose: devising a Web Service Architecture. REST can be considered the architectural style for the World Wide Web. A major difference between the REST point of view and that of the SOAP-based web services architecture is that REST views the Web as an information system in its own right. In contrast SOAP sees the Web as simply a transport protocol. SOAP is mainly driven by software vendors that are customer-oriented while WWW was mainly supported by non-commercial users. Accommodating legacy systems, often associated with SOAP or other customer-driven architectures, is a concern considerably competing with simplicity and flexibility. An architecture as simple, elegant and flexible as the Web could have not come out of such a relationship. REST is inherently benefiting from many of the good features of the Web architecture.

No comments:

Post a Comment