Tuesday, June 06, 2006

enterprise2.0 brain-dump

Enterprise2.0 is 1. a topic that I have been thinking about for a while and 2. a topic that has become very popular over the past 3 months.

Nobody knows what enterprise2.0 means yet. Tim O'Reilly wrote a famous article about what Web2.0 means http://www.oreillynet.com/lpt/a/6228.

In that article O'Reilly says:

The gravitational pull of Web2.0 is:

Strategic Positioning:
* The web as a platform

User positioning:
* You control your own data

Core competencies:
* Services, not packaged software
* Architecture of participation
* Cost-effective scalability
* Remixable data sources and data transformations
* software above the level of a single device
* harnessing collective intelligence

How do these ideas relate to the enterprise? Here are my $0.02:

* The web as a platform:
Most enterprises have a wide variety of web-based applications. However, these applications are still using the database/server as the platform. I interpret "Web as Platform" to mean that web applications draw data from other web applications, allowing multiple levels of logic to be applied. Most enterprises still haven't taken that step yet. I also question whether most enterprise applications require the web as a platform. In the consumer world there are no ESBs or access to internal databases, which is why the web makes a good framework for communcation.

Would existing applications be better if they could draw their data from the web? Or if other applications could draw their data from that application?

Can new applications be created that leverage multiple sources of data within (maybe combined with data from the outside) the enterprise - with the web as the communications layer?


User positioning:
* You control your own data

Data permissions will be one of the most important issues for web2.0 within the enterprise. In a corporate environment the users often do not own the data and the company wishes to exert some control over it.

Would some applications be better if the enterprises allowed employees more freedom with data? In many cases I think the answer is YES ( I will post more about this later).

Can technologies be developed that allow employees more control over their data but also maintain the permissions required by the company (and regulators)? Perhaps.

Core Competencies:
* Services, not packaged software
Enterprises have adopted this model in some cases, such as Salesforce.com. However, there are key data issues to work through. SFA software has been widely adopted on the SaaS model because it does not require extensive integration with other sources of enterprise data. It is unique in that respect. Because enterprise data is so hard to integrate with (not only for technological reasons but also for social reasons - data control), other applications are not as obvious of candidates for SaaS. Imagine that I have written a great set of risk management algorithms for the banking industry. There are numerous advantages to providing it as a service: 1. I only need to integrate with outside data (interest rate forecasts, forward interest rates, bond prices, etc) once 2. I can make improvements to the algorithm without having to reinstall it at each client

However, in order to feed the algorithm I am going to need access to the loan data from the bank. 1. That is a lot of data, its not necessarily efficient to transfer it over the net 2. the bank is not familiar with providing outside access to their loan data, in fact, most people within the organization don't have access to that data... These are not easy problems to solve.

* Architecture of participation and Harnessing Collective Intelligence
There have existed collaboration technologies within enterprises for a long time. Many times they are not heavily used. In my consulting days we had e-rooms that nobody used and most people I talk to recount a similar anecdote. It seems to me that the biggest problem with collaboration is that it needs to fit a particular task. A chatboard and file repository (a la eroom) is not well suited to many tasks.

The Wikipedia has been successful because it is a specific task that is well-suited to collaboration and the interface has been created to suit that task.

RNOW has an interesting product where users and call center employees can both search the same web-based knowledgebase. When a question is either posted on the web or asked over the phone, it can be answered by the call-center employee and then posted immediately onto the knowledgebase. That is a good use of collaborative technology to solve a specific problem.

Parlano has an interesting application where traders communicate via chat about trade ideas and the results are stored so that the data can be re-used.

Are these applications Enterprise 2.0? They have both been around since before that phrase was invented.

In my opinion, this is the greatest area of opportunity for enterprise2.0

* Cost effective scalability
Enterprises are already adopting this idea. Evidence: the success of linux, clusters and virtualization within the enterprise. I'm not sure what will be new here. Greater levels of abstraction through new virtualization technologies?

* Remixable data sources
See the discussion of data permissions and ownership above. This is a huge area of opportunity, but not one that I think enterprises will be quick to adopt. There are so many pressures in favor of protecting data, controlling the use of data, etc.

* Software above the level of a single device
I'm not sure what the enterprise analogue is here.