Businesses are loosely coupled systems, too. The emergence of service-oriented approaches in technology needs to be mirrored by parallel approaches in management.
In a recent posting titled Unplug and play, I noted the emergence of composite application assembly and agile development as two important ingredients in successful web services deployments. This week, I've come across two articles that explore a similar pair of themes in business management. One points out that business agility depends on giving more autonomy and flexibility to individual functions within an organization, which exactly parallels the services-oriented approach of composite applications. The other recommends a style of strategic planning that focusses on achieving short-term tactical objectives within an overall strategic framework, which is uncannily reminiscent of the short-term project cycles of agile development.
Service-oriented architectures are not just for technologists. There's no point in re-engineering the IT infrastructure for agility if the operational and decision-making infrastructure of the business is still an unreconstructed hierarchy of immutable processes. To realize the full potential of web services, business executives too have to be ready to 'unplug and play'.
The first article is provocatively titled Beware of Business Process Management by Patricia Seybold (I'm grateful to reader Gene Weng, who prompted me earlier this week to take a look at the article). Patti very sensibly warns about attempting to design and manage business processes as fixed entities: "If you attempt to design business processes a priori, you're going to design in a set of assumptions and requirements that may not be adaptable enough" especially in customer-facing environments. Instead, she recommends thinking of all the separate functions in a business process as independent services (such as inventory management, shipping, returns handling):
"The advantage of taking a services approach to your former business processes is that the flexibility and adaptiveness is automatically built in at precisely the right level ... The basic difference between business process design and collections of services is the adaptive property of emergent behavior. Patterns of behavior among services emerge in response to customers' improvisations ... start thinking of choreography as a way of capturing the patterns of useful and pleasing improvisations that services do for us on our behalf."
Remember, we're not reading about computer systems here. This is about people, managers and departments in a business. Of course, in most businesses, technology plays a part in automating some of the activities. But the emergent behavior and choreography Patti cites is a consequence of managers taking decisions within a services-oriented operational infrastructure. Whatever part software plays is incidental and subservient to that.
The second article describes a methodology for agility in business strategy. John Hagel's FAST Strategy is a blueprint that "urges executives to move [strategy] along parallel paths, operating on two very different time horizons: one horizon takes a five to ten year view of the business and the second horizon zooms in to a much more tactical six to twelve month view of the business."
Like the proponents of agile development, John rejects grandiose projects in favor of a more pragmatic approach: "Properly focused, incrementalism provides significant advantages relative to more tempting 'big bang' transformational initiatives." He outlines a succinct and highly actionable five-point checklist for moving towards a successful incremental strategy.
Interestingly, although it's not about software, it could be applied just as productively to an IT project. Perhaps that's because John recognizes the close interplay between these emerging management techniques and the contemporary technology developments they are able to exploit. "The FAST strategy approach," he writes, "helps us to understand the deep business significance of the emergence of a much more flexible distributed service architecture. This new IT architecture will help businesses to accelerate their near-term operational initiatives even further." But only if they get the 'unplug and play' message and start reorganizing their operations as well as their IT along service-oriented lines.
posted by Phil Wainewright 1:03 PM (GMT) | comments | link
Thursday, May 22, 2003
Who needs SOAP and BPEL?
For a demonstration of what can be achieved, take a look at what next-generation ASPs are starting to do by linking up with each other, as I've described in my ASPnews column this week: "They've designed their applications from the start as web-based services, so there's no adjustment required to bring them into the service-oriented ethos of web services; they already got there long ago."
Companies like salesforce.com, WebSideStory and Atomz don't give their customers any of that traditional software nonsense about batch updates and proprietary APIs. Their web-based applications have always operated in real time, and they can do real-time data integration simply by setting up a URI that calls on their XML data store. As they begin to link up with each other, they're starting to realize the power of connecting best-of-breed resources in a loosely coupled architecture. That is bringing them and their customers substantially closer to the all-important tipping point when the aggregate value of the available services starts to escalate rapidly.
Of course, in those situations you do need SOAP and BPEL (and doubtless would be well advised to attend a Collaxa BPEL Boot Camp). I imagine the ASPs I've mentioned are already using SOAP at least (probably BPEL later on) in their own back-ends. There, though, is another trump card for their customers the ASPs can take care of the more complex specifications and techologies, while their customers concentrate on fine-tuning their all-important customer-facing processes.
I was glad to see last week that analysts at Gartner have backtracked on their previous definition of a web service, and now concede that it can be software automation that uses at least one of the three so-called foundation standards SOAP, WSDL or UDDI rather than having to use all three. They're almost there now, but not quite. The real foundation standards are XML for data, HTTP for communications, and the provision of processes as autonomous services. So long as you get that right, you have a web service. All the rest is just elaboration.
posted by Phil Wainewright 6:47 AM (GMT) | comments | link
Tuesday, May 20, 2003
Most software is built today using procedural languages, from which stems many of software's current problems. Procedural programming is based on the assumption that the program captures every conceivable eventuality. The problem with this is that, if something needs to happen that the programmer didn't conceive of, then the software won't handle it.
Now that we're turning to more loosely coupled, event-driven, service-oriented notions of software assembly, different approaches are being tried out, and people are starting to talk about rules-based programming, a discipline that was briefly popular in the mid-1980s but then faded from view once the hype about expert systems and artifical intelligence died down. But as Jon Udell noted in a column earlier this month, its appeal is starting to return: "Today we program this stuff in procedural languages, and we make a hell of a mess doing so. Wouldn't it be great if we could declare a bunch of rules and have a rules engine work out the consequences?"
While Jon's piece was still fresh in my mind last weekend, I happened to be reading a book review in the London Review of Books, of two books about the collapse of Enron. US accountancy is a profession that has put its entire trust in rules GAAP now comprises more than 100,000 pages of them, reports the reviewer, Donald MacKenzie. But that didn't help prevent Enron, and the probable reason was explained by the German philosopher Wittgenstein in his Philosophical Investigations, writes MacKenzie: "If rules are simply verbal formulae, then, as Wittgenstien put it, 'no course of action could be determined by a rule, because every course of action can be made out to accord with the rule.' ... what the rules 'mean' can always be contested." In the end, what matters is principle; what people instinctively feel to be the right interpretation of the rules, at that point in time (what the legal system describes as the 'reasonable person' test). "Wittgenstein .. said we must ultimately follow a rule blindly."
Or, to put it another way, it's never possible to completely automate a decision system. At the end of the day, the only final arbiter is the common sense of a reasonable person, because however sophisticated our software and our computer systems become, they will never have the unique attenuation to cultural standards that is innate to human beings. Rules-based systems will help, but they can never be more than an aid. Like King Lear, if we ever attempt to abdicate responsibility for our own decisions, we condemn ourselves to tragedy.
posted by Phil Wainewright 1:03 PM (GMT) | comments | link
"In the last 18 months, the concept of orchestration has matured," Collaxa CEO Edwin Khodabakchian wrote recently in the company's weblog. Noting that "we now have specs in all the key areas of the web service architecture," he announced a refocussing of the blog in a direction that I found very intriguing: "Development of a new concept called Organic BPEL."
That's a neat turn of phrase that emphasizes something I often find is missing in discussions of business process orchestration: the real world. Technology has to support the organic nature of real-world processes and organizations. You can't engineer it out of the system, not without making the system irrelevant.
When people talk about orchestration and choreography, the tendency is to visualize themselves in overall charge of the entire performance, without making due allowance for the creativity and autonomy of each individual player. For that reason, as I've argued before, I have a preference for the word 'cohesion' to convey the lightness of loose coupling that I believe produces the best results.
I think Edwin's choice of phrasing is even better. It's snappy, accessible and practical. The OASIS process around BPEL now has the support (thank goodness) of all the major vendors and other significant parties, and therefore it's the specification that will be used in mainstream implementations; the choice is going to be BPEL or nothing. That's the pragmatic element. But there's still plenty of room for BPEL to get pushed in unhelpful directions that are more convenient for the makers of technology than for its users. Organic is difficult to design for. For BPEL to be useful to the business organizations it aims to serve, it needs to have all of the characteristics we associate with that well-chosen word organic it needs to stay adaptable, agile, resilient, natural and lively. For in the long run, if business processes aren't organic, they die.
posted by Phil Wainewright 8:44 AM (GMT) | comments | link
Assembling on-demand services to automate business, commerce, and the sharing of knowledge