On Business Processes and Scripting Languages

Jon Udell is one of the most interesting technology columnists out there. He’s writing about a lot of the items I find most interesting in the technology world today: the importance of networks, giving people the ability to do their own programming. In ‘Refactoring the Business’ he discusses the confluence of scripitng languages and business processes.

Some of the recent challenges I’ve been trying to deal with work seem like they would be perfect opportunities for scripting languages. The problem I face personally and seems to be present in so many businesses is connecting the information that comes from one system with the information from another. How do you connect the user activity from an e-commerce site with the help desk activity of the very same user? If the tools already in place don’t connect out of the box then you need to build a system to connect them and scripting languages seem to be the best hope. Although the programming languages may get more respect the scripting langugages are what really makes the business work, because the business becomes more intelligent and more efficient by learning about the interconnections between the systems.

What they are, increasingly, is business processes. And here we run into a major disconnect. To the enterprise, scripted solutions look like one-offs, not strategic systems designed to high standards of quality and able to evolve along with the business. What the enterprise folks don’t get is that scripted systems can be engineered to meet these requirements. So they lean toward C++ and Java, and then rely on powerful integrated development environments, like Eclipse and IntelliJ IDEA, to make fluid refactoring possible. These tools can work very well. “They’re complicated,” observes Ward, “and you have to learn how to work them – but boy, when you do, they make those languages start to feel like scripting languages.” On the other hand, he asks, “Why should we need heroics in the IDE to correct for misguidedness in the language design?” It’s a question of suitability for purpose. “If the purpose is to continuously evolve programs for business, then what’s suitable is to have clean object models that are easy to read.”

The business processes that Udell talks about are the interconnections. In my own experience it’s incredibly difficult to convince business to spend money on the interconnections because they don’t produce immediate revenue. The customers only see the final e-commerce site and don’t care to know how much marketing knows about tech support. But for the company to succeed that internal knowledge must be passed as efficiently as possible. Scripting languages seem to be the best choice for these projects precisely because they seem like non-strategic systems, they’re relatively simple and quickly implemented.