Hard wiring processes should be a sin, let's do away with it once and for all.
Since the dawn of computing, applications have been rigidly architected, and therefore tightly dependant on one another. Change one application, or interface, and you risked breaking many other applications. As a result, there's been no such thing as simply making a change to one application or system without having to go into many other applications and systems across the enterprise.
The promise behind Web services and SOA is that application or system components are not aware of each other, and do not need each other to operate successfully. An interface or piece of application can be changed or upgraded without the need to touch anything else in the enterprise.
Such loose coupling should cover all things small -- such as new user interfaces that can be updated on demand -- as well as the big stuff. In a previous post, I talked about the story of Kichler Lighting (posted here), which successfully uncoupled its operations from its PeopleSoft ERP back-end system. The company moved functionality for supporting sales channels out into a Java- based, service-oriented middleware layer, and therefore was no longer beholden to the Big ERP vendor for the latest features and upgrades.
A few years back, John Hagel came up with a good definition of loosely coupled: "Loosely coupled is an attribute of systems, referring to an approach to designing interfaces across modules to reduce the interdependencies across modules or components – in particular, reducing the risk that changes within one module will create unanticipated changes within other modules. This approach specifically seeks to increase flexibility in adding modules, replacing modules and changing operations within individual modules."
Hagel also made this apt prediction (not bad from a vantage point in 2002): that "loose coupling will force us to rethink all aspects of business activity. We’ve already made some significant progress in adopting much more modular and loosely coupled designs for a broad range of products ranging from computers to automobiles and washing machines. But product design is just the beginning in terms of the move to loosely coupled systems. It will have profound impact on the way we manage business operations. The thick process manual remains a testament to our hard-wired approach to business operations. Specify all activities in great detail in advance and then carefully monitor all activities to wipe out any variations from standard. Tighten operations as much as possible. Loosely coupled business processes operate in a very different way."
It's a whole new way of thinking. In a post last year, I alluded to the rise of the "loosely coupled business," which extends service-oriented systems thinking to the way businesses are put together.
Our IT Commandments:
- Thou shalt not outsource mission critical functions
- Thou shalt not pretend
- Thou shalt honor and empower thy (Unix) sysadmins
- Thou shalt leave the ideology to someone else
- Thou shalt not condemn departments doing their own IT
- Thou shalt put thy users first, above all else
- Thou shalt give something back to the community
- Thou shalt not use nonsecure protocols on thy network
- Thou shalt free thy content
- Thou shalt not ignore security risks when choosing platforms
- Thou shalt not fear change
- Thou shalt document all thy works
- Thou shalt loosely couple