ad1

Wednesday, November 19, 2014

Fallacies of Scale: OO vs SO(A)

The introduction of Object Oriented design as a continuation of modular programming paradigms, has greatly improved the software development and design process. It has made it much easier and more possible to describe highly complex systems and processes by allowing us to model and work with associated domains and problems in software by abstracting functionality and data. This has decreased complexity, increased reliability, and through efficiency saved resources. Service Oriented design and architectural approaches are an extension of the principles of Object Oriented design to the architectural and systems spaces along with distributed computing principles. As such, Service Oriented design and architecture represents an attempt, whether conscious or not, to translate the success associated with Object Oriented design to a larger scale problem space; to the systems, the systems-of-systems, and/or the distributed systems domains. However, there is no logical reason why this translation should succeed in the transference of benefits from the one scale to the other and it has not done so. Furthermore, I argue that SO(A) has achieved the opposite effect as compared to OOD in that it has increased complexity, decreased reliability, and wasted vast amounts of resources. It may have made it easier for non-technical higher levels of management to think that they understand or can manage systems but this is with great inefficiencies and unnecessary expenditures of time and resources.

No comments: