Paradigm and Innovation July 15, 2006
Posted by poseidon715 in SOA, Technology, Thomas Kuhn.trackback
Innovation drives business technology. Innovation gives us the upper hand on our competitors. Innovation excites us. And rightfully so. The technologist enters a career in computing to solve new problems, create cool new gadgets, and find new uses for established methods.
Much literature has been written on the process of innovation, and I do not wish to repeat what others have said more eloquently than I could on that topic. I would like to briefly discuss another subject that is intimately related to innovation: paradigms.
A paradigm, simply put, is a way of understanding and framing the technical problems with which we are faced. According to Thomas Kuhn in The Structure of Scientific Revolutions, paradigms define:
· what is to be observed and scrutinized,
· the kind of questions that are supposed to be asked and probed for answers in relation to this subject,
· how these questions are to be structured,
· how the results of scientific investigations should be interpreted. (http://en.wikipedia.org/wiki/Paradigm, May 8, 2006)
While Kuhn’s focus is on the nature of scientific inquiry, his observations have a broader application for many creative pursuits, especially in the area of information technology. If paradigms frame our understanding of technical problems, and shape our solutions to them, it stands to reason that new paradigms are often a precursor to innovation. The Merriam-Webster dictionary defines innovation as:
1: the introduction of something new
2: a new idea, method, or device: novelty
Innovation occurs when we look at a familiar product and find a new application for it. Most innovation occurs after a paradigm shift has taken place within the inventor. A paradigm shift occurs when an individual’s approach to her technical puzzles switches from one paradigm to another, from Newtonian physics to Einsteinian physics for example. It is at this time when the mind is most fertile for innovative thought, as the individual looks at her present problems with “new eyes”.
Let’s illustrate this point with a useful example: Service Orientation. Service Orientation is a higher-level abstraction for what manifests itself as the Service Oriented Architecture model of distributed computing and the “Software as a Service” model in software product design. I would argue that Service Orientation is not an example of innovation, but Service Orientation is a paradigm from which innovation can develop.
Let me repeat: Service Orientation is not innovation. Service orientation, including service-oriented architecture (SOA), is a paradigm, a way of looking at a problem, which allows innovation to take place.
Paradigms are developed through a combination of theory, experimentation, and tools. The services theory is heavily based in object-oriented design. In fact, often the first reaction I get when explaining SOA is that it is just a fancy way of talking about client-server architectures and n-tiered design. But while the two concepts are similar, SOA is remarkably different. The basic theory is not new, and has existed in distributed computing architectures for decades. What qualifies SOA as a “new” paradigm is twofold. First, is the addition of a common tool, which acts as a lingua franca for distributed systems: xml. The second qualification is the general acceptance of these tools among practitioners in the computing field. In order to be affective, paradigms must contain a social component just as the literary epic contains a social component. While many writers have created tomes of poetry with epic themes, only the works of poets who gained a social acceptance (Homer, Dante, Milton) are considered “epics”. Paradigms require the same social component. As such, the community in the past 5-6 years has deemed SOA a legitimate, indeed essential, paradigm.
At this point there are two directions in which this discussion could go, each in the form of a question:
As Service Orientation, and SOA in particular, seem fairly low level, are there higher paradigms from which these are based?
I see this question has extremely important to both further clarifying and perfecting the current Services paradigm, and finding the next paradigm to take its place. Indeed, paradigms are nested, so to speak, and one’s approach to technical problems is complex, consisting of layers of perspective that act as the Prophet Ezekiel’s “wheels within wheels”. SOA is a lower level (almost code level) paradigm that has been created from such presuppositions as Network Ubiquity and Transparent Computing, which themselves make up higher level computing paradigms. I will leave this question open for discussion right now.
The second, more approachable question is this:
Why do we need to switch to a Services paradigm – what is the value over the old paradigm?
Let’s take the distributed computing paradigms of Client-Server and SOA for comparison as Client-Server is the most recent “way of doing things” before SOA, and they both live on the same paradigmatic nested level. It is not the intention of this discussion to get into technical specifics of how SOA is implemented, but rather I would like to briefly mention four technical problems that SOA the paradigm addresses:
- Integration
- Location Transparency
- Asset Reuse
- Stability
Let’s get down to brass tacks. All technical projects need funding, and there are solid business reasons for implementing SOA-based structures within the enterprise. I would like to propose four business benefits (Return On Investment scenarios) for SOA that map to the above technical solutions:
- Lower Integration Costs
- Faster Time To Market
- Increases Business Agility
- Reduces Risk Exposure/ Increased Compliance
Now this discussion needs to come full circle and discuss how this all relates to innovation. I think the best thing I can do at this point without drilling down into specifics is to offer a few examples of innovation that has taken place within the Services paradigm in the past few years.
*ML Languages
Web Services and REST
Google as a Service
Microsoft Office as a Subscription Service
All of these bullet-points could be broken out further and several more pages could be written, but right now I just want to open this up for discussion and see if you agree with the basic premise.
Is there a paradigm/innovation dichotomy?
Is SOA a good fit in this discussion?
What are the bigger paradigms in which SOA is nested?
Are there other opportunities and risks associated with SOA that I have overlooked?
What are other examples of innovation within the SOA framework?
Comments
Sorry comments are closed for this entry