I was reading Max Pucher's interesting rant about SOA and it reminded me of one of my own personal experiences with business agility. I was flying back to San Francisco from Germany and had to go through customs and change planes in New York. Well, there was a snowstorm and all flights to San Francisco were cancelled and they decided to rebook me for the next day. Having been away for almost two weeks, the last thing I wanted to do was sit in an airport hotel for another day, so I looked at the board and realized that there was still one flight to San Jose (a 45 minute drive from San Francisco) that was still on schedule.
I asked the agent to switch me to that flight. She said "no," unfortunately she couldn't because my e-ticket didn't make that possible. I gave her my I've-been-flying-for-8-hours puppy dog eyes and asked her if there was any way she could help. She said "hold on a minute" and started typing away. After a few minutes of this, she produced a boarding pass to San Jose. I smiled and asked her how she did it...
It turned out that because this was the early days of e-tickets, they had no way to reroute an e-ticketed passenger (even due to weather problems) - it just wasn't coded into the e-ticket business process logic. So, what she did for me was convert me to a paper ticket. Simple! With a paper ticket, the only record of my route was on the paper itself and the "business process" around the paper ticket was entirely driven by the agents themselves -- so once she had done this conversion she could easily print a different paper ticket that had the new routing.
SOA What? The moral of the story is that you shouldn't confuse efficiency with agility. The e-ticket process (like a lot of processes built on BPM platforms) was efficient, but it wasn't agile. Humans will always be more agile than automated processes -- make sure that your SOA processes allow them to do what they do best.