We all think we know what business agility is and often it revolves around quickness, especially quickness in the service of accelerating a deal or transaction. That’s a good starting point but agility actually goes deeper especially now that so many structural changes like cloud computing and subscriptions have already turned up the dial on everyday business.
Part one in organizing for agility might be about building applications for your lines of business that accurately reflect the business processes they engage in but also building them in ways that are easily maintainable and modifiable as the business grows. Many people think this involves a mix of the latest hardware such as hand held devices and their apps. But it also ought to include the rest of your devices as well as a governance model, which is part two.
Governance can be nebulous, something for an offsite that ends in walking on hot coals, perhaps. But really, governance needs to be more and it’s as much about what you do as what you don’t do. A couple of weeks ago I was on a call with the CIO of an electronics company who summarized his position perfectly. His organization promotes standards for new cloud applications, such as compatibility with the existing cloud infrastructure. If a proposed cloud app doesn’t meet the standard, it’s not allowed in the evaluation process. But that’s just the beginning.
Governance also needs a methodology model to define how LOBs and IT work together, such as what IT provides and the limits of what an LOB can do on its own. This IT group has seen a lot and learned from what it’s been part of, which is why the CIO embeds IT people in the LOB so that IT can be helpful and guide its partners throughout the app lifecycle. It helps that there are several agile application development methodologies in circulation, too.
On the flip side, they also use modern development tools based on a platform that enables both business users and IT specialists to contribute to the lifecycle. Tough coding such as for algorithms might be done by IT, but a lot of UI, look and feel, and even what data gets captured is the purview of the LOB user. The result is apps and an organization that can respond to change efficiently to help the business maintain its position in customer accounts.
Notice that at no point in this discussion was anyone specifically required to speed something up. I think that’s because business is already operating at pretty close to its speed limit. To do more and to do it better from now on it’s necessary to change as the customer changes, to ensure that we as vendors can identify and participate in customer moments of truth even as they evolve. That requires business agility and business agility begins with having the flexibility to augment the systems that support customer-facing processes.
Looming in all this is the idea of the platform and a way of thinking. The platform isn’t just about rapid application development it’s equally about bringing together services like BI, workflow, journey mapping and a lot more because those things support end to end business processes and that’s where I think all this is heading. Companies like Salesforce and Oracle but also upstarts like Metavine, Outsystems, and Mendix are all trying to be platform vendors and make this vision real.
Last point, what’s the difference between a bot and a good automated customer-facing application today? It’s getting hard to tell I think and this suggests why agility is so important.
For over 50 years, the IT industry has followed a well-known script associated with emerging and evolving paradigms. First a product or category is introduced, then it gains wide market acceptance (or dies on the vine) followed by a long period when vendors and customers seek out ever more efficient ways to produce the thing. Ultimately, the category becomes so important that all must have it and the only way to make money is to sell to very large, mass markets. That’s commoditization for you.
In IT there have been several cycles of birth and eventual commoditization and the trend is for more. If you’ve ever been to a Salesforce event you know that there will be at least one slide in the deck addressing the transition from mainframes to networks to the Internet to social media, and cloud computing. These days the last stop on the tour seems to be not just the cloud but clouds such as financial services, healthcare, and education. Siebel once had over 20 vertical CRM products so I expect more clouds to come and not just from Salesforce. This cloud or industry specific approach is another facet of commoditization involving product line extension—where once there was one SKU now there are many that give a vendor the ability to further penetrate the market.
Prior to industry specific CRM, cloud computing or SaaS, had been the ultimate commoditization of IT. Pay by the drink, don’t buy anything other than your personal device, let some other party pay for the back office administration and acquisition costs, it’s hard to see how you commoditize further but who knows?
Despite all of this, one area of IT has been resistant to the commoditization cycle: application coding. Through all kinds of disruptions in hardware, networks, storage, and even computing language introductions the core reality of the technology industry has been that no matter what, someone had to write tedious, bug ridden code to keep all the balls in the air. But we’re finally at the point in technology commoditization where that’s changing and there are two good reasons.
First, the demand for software is so great that we’ve passed the point where we can expect to provide for our software needs with traditional approaches. Second, the belief is growing that software, like music before it, should be free or virtually free, so it’s becoming hard to see how conventional coding will pay the mortgage in the future.
The solution that’s becoming ubiquitous is application generation but alone, that’s not enough to make software commoditization a reality. Generating an app or even a whole suite of them will only get you to the point where you can provide for your own needs. That’s a problem because it means you need to be more or less self-sufficient. Ideally, if software is free or nearly so, there should be no issues with sharing template applications that almost anyone could tune for one organization’s specific needs, using appropriate tools for the job.
All this would significantly alter and even disrupt the process by which we get software today. There would be virtually zero coding and the developer would more likely be a business analyst or other line of business person attempting to support a critical process. We already see this taking place but the implementation tool is a spreadsheet and we all know that spreadsheet apps work well only until they need to capture successive versions of data as business processes move forward. Spreadsheets don’t have databases behind them.
But spreadsheet apps provide a good first approximation of the functionality needed in a business process. So the new paradigm of commodity software administered by a generation tool plus a suite of readily available and nearly free template apps almost forms the nexus of the new software paradigm.
The last piece of the puzzle is a method of exchanging templates so that no single entity must be self-sufficient. Sharing zero cost software drives the formation of a software commons united by a common software platform. Unlike other platforms all participants would be equals, able to trade their self-made apps for others. Then the cycle could renew itself. Users might tune template apps to suit their needs and re-contribute their solutions to the commons—or not, the choice is individualized.
In a future post I’ll examine how some emerging vendors approach this very different and possibly disrupting approach to the software lifecycle. Companies like Anaplan, Metavine, and Servicenow have all deployed their versions of this vision. Each has a different take on it based on the markets they serve. For instance Anaplan focused on enterprise planning, Metavine is an application development and deployment platform (as are the others) with emphasis on front office solutions, and Servicenow on service modes.
All of this is straightforward but the ultimate demand might surprise you. As large as the software market is today, it will be much larger by 2020 when various prognosticators speculate that there will be in excess of 50 billion devices connected to the Internet. All of these devices will need software and the demands on software providers will be intense. Those demands will include, near zero cost, near flawless performance, and the ability to run anywhere. That’s commoditization at a very high level.