There is little doubt that we are experiencing the formation of the next wave of software innovation. Blogs, wikis, community tagging, social networks, and other components of the emerging Web 2.0 are merely the ripples heralding the inevitable arrival of the Big One. So it’s the usual drill now for all of us who have ridden such waves before: catch the wave or get swept away by it. Ladies and gentlemen, get out your surfboards!
What Does This Mean? (for those of us in the enterprise software business)
Instead of retelling what many have told so well before me, let me point you to Joe Kraus’s influential blog post, “The Long Tail of Software.” Joe builds a high-level "business case" for what kind of “new enterprise software” we need to develop and why it will be disruptive to the "old enterprise software" folks like Siebel and SAP.
How Enterprise Software Works
Every enterprise software implementation stack, regardless of the application domain, has the same three basic layers:
3) Business Logic (mostly domain specific)
2) Data Bindings (implementation-specific)
1) Information Model (domain-specific)
Traditional enterprise software apps use top-down constraints – such as a pre-defined data model, roles, workflows, and categories. This works quite well for software developers (build once, sell many times), but limits configurability for the clients. That’s where the enterprise software marketing machine kicks in, aiming to convince the customer (using a variety of clever marketing devices, such as the mostly bogus promise of delivering “industry best practices”) that it is in the customer's best interest to adjust its business processes to the software, rather than the other way around. Thus the notoriously expensive, lengthy, highly disruptive, and often ultimately unsuccessful implementation cycles for enterprise software packages like ERP and CRM.
Now wouldn’t it be nice if, rather than being prescriptive (and therefore disruptive), enterprise software instead “evolved” over time to align with the client’s way of doing business? if you could install it, start using it, and the more you used it the more aligned it became?
Enter “Social” Enterprise Software Architecture
Sounds like a pipe dream? – until recently, yes. But I believe that, in the last three years, we have seen each layer of the enterprise software stack (Information Model, Data Bindings, and Business Logic) actualized in the collaborative, self-evolving, adaptive "sample app":
- Collaborative creation of the domain-specific information model: This has recently been demonstrated on the Internet with various social metadata/tagging services such as Delicious, the social bookmark manager. Particularly telling is this screencast by Bob Udell demonstrating the “convergence” of tag metadata toward what essentially is a common (among the Delicious users) information model for tags. (Of course, the crowd favorite Flickr has famously – and quite profitably! – done the same for user photos.)
- Collaborative creation of content to populate the model with “implementation-specific” data (binding): This has recently been demonstrated on the Internet in a variety of wiki-based services, with Wikipedia (“the free encyclopedia that anyone can edit”) being the favorite poster child. Authored by 300,000 people (most of whom don’t know each other) Wikipedia has become one of the most comprehensive and rapidly growing knowledge repositories in the world. But what’s most remarkable about it is how robust it is with respect to the fidelity of the information it contains: go ahead and change some obscure detail on some obscure topic in Wikipedia, and see how fast someone corrects it back! (While Wikipedia is a free service, there have been some efforts to commercialize wiki-style collaborative content creation, with SocialText being perhaps the most successful vendor so far.)
- Collaborative development of the business logic and workflows on top of the collaboratively created Information Model and Content: This is where the social software frontier currently lies, with a few first-generation tools already available. The most intriguing of these is JotSpot (founded by Joe Kraus and Graham Spencer of the Excite fame) which is the first platform that takes the wiki approach to enterprise apps.
Putting It All Together
With every layer of the enterprise software stack (Information Model, Data Bindings, and Business Logic) having been individually demonstrated as a “social software” implementation, now is the time to start putting these pieces together into a next-generation enterprise software platform that is adaptive and “social” at every layer of the stack.
To get this concept off the ground, we need a “killer app” – and coming up with a compelling one has so far been a struggle. JotSpot’s demo application is the employee interview/hire process – something that every company does, but most do just differently enough (based on their culture and customs) to justify the “adaptive” social software approach. I am considering applying “social software” principles to the IT service delivery management domain where my company, Centrata, operates. But this is still a long way off from tackling the problems currently addressed by enterprise-class ERP and CRM packages.
At a recent Gartner Symposium in San Francisco, Tom Austin, a Gartner Fellow and their resident maverick visionary, gave a talk suggesting that an application environment that enables users to experiment and create collaboratively (as opposed to being subject to centralized control) is the way of the future. The question I posed to him was this:
Are you envisioning that traditional monolithic enterprise applications (ERP/CRM like SAP/Siebel) may eventually be replaced by collaboration architectures that are now evolving on the Internet (wikis, blogs, social networks, etc.)?
“Eventually?” he replied, “absolutely!… the only question is when.”