Modern businesses are built on software. The processes they use to receive and fulfil orders, measure financial performance and pay their staff are all defined by applications, linked together by middleware and accessed via interfaces that are finely tailored to business requirements.
How well these software constructs are integrated determines how efficiently a business can be run. And how quickly and easily the constructs can subsequently be rebuilt, extended and reintegrated with other business processes determines how effectively an organisation can innovate and respond to market conditions. Sadly, when this is put to the test, software is often found to be an obstacle to, rather than an enabler, of business change.
Indeed, although software is theoretically an infinitely malleable building material, capable of being shaped and tailored to fit the most detailed business requirements, in practice IT professionals know otherwise. Like trying to pour concrete that has been allowed to set, software systems are typically rigid, brittle structures that are hard to change and prone to collapsing altogether if forced to do so.
At least that is the established view of business software infrastructure, but it is changing. In the last several years the software industry has at last begun to provide business with the tools it needs to take real control of software, and in so doing, recover real control over their business infrastructure.
The starting point for this business software revolution is the growing acceptance of service-oriented architecture (SOA) for software. Although it is often spoken of in the same breath as web services and XML, unlike these technical interface and language standards, it is not so much a new set of technologies as a new way of looking at software.
For the first time with SOA, software developers are encouraged to look at software systems as meaningful functional artefacts. In the SOA world these software artefacts are called services – or processes – and they do real, tangible things such as renting a car or booking a hotel room. They can readily be combined with other services, such as credit card payment applications, to make these original systems even more effective.
Still, if nothing else, SOA has given organisations a clear idea of what could be done if business people were given the tools they need to define their own software assets. In fact, these tools are already appearing, and they are called business process management (BPM) applications.
BPM takes the idea of software as services further, by inviting business managers to take a more direct role in the definition and ongoing development of their own business information infrastructure.
Instead of writing code, business users are encouraged to describe or model what they want their systems to do using natural languages and flow diagrams. It is not quite the same as turning business jargon directly into code, although that may become possible as another technology initiative – the model-driven architecture – evolves.
Once companies have reached the stage of enabling their business managers to control their software assets, the next step is to circumvent control and build systems that can respond to events without the need for human intervention. Enter business activity management (BAM).
BAM is essentially a fusion of BPM with business intelligence (BI) technology that enables systems to capture information in real-time and then, by measuring this activity against predefined business policies or models, initiate appropriate responses. Again, this simple idea masks a great deal of complexity, and BAM technology is still in its infancy.
Nevertheless, the notion of business managers being able to detect and correct problems, or even anticipate events, is almost within reach. When it finally arrives, executives will need a different excuse for failing to move with the times: software will no longer be an obvious scapegoat for business inflexibility and fallibility.