Open Source Strategies

A blog about open source software and business models, enterprise software, and the opentaps Open Source ERP + CRM Suite.

Friday, March 21, 2008

Enterprise Software Hierarchy of Needs


There is an interesting theory in psychology called the hierarchy of needs, which said that once people's basic needs such as food and sleep are fulfilled, they would turn to higher needs for love, self-esteem, and ultimately self-actualization.

I am starting to see a similar hierarchy of needs for enterprise software, both from general trends in the industry and from our experiences with the opentaps Open Source ERP + CRM system: As organizations satisfy their most basic software needs, they tend to go up the ladder and turn to "higher" and more sophisticated needs. This "enterprise software hierarchy of needs" seems to follow this pattern:

1. Data: At the most basic level, every organization needs to standardize its operational data and make sure that everybody is using a common set of data. If this sounds simple, it isn't. In most organizations, duplicate sets of data are held in different siloed systems. For example, the accounting, shipping, and sales departments may be using separate sets of customer records. This could cause a lot of mistakes, like shipments or invoices that get sent to the wrong address. It also makes it impossible to answer basic questions like "How profitable is this customer to us?" Therefore, the first step in implementing any enterprise software is to create a common data platform with a centralized system, such as an ERP or CRM system.

2. Automation: Once you have a common set of operational data, it becomes possible to automate a lot of its processes across departments. For example, in the opentaps Open Source ERP + CRM system, you can enter an order for a customer, then process the order and invoice the customer without having to re-enter any data. Each part of opentaps would simply look up the customer, order, and pricing data it needs from the centralized database. As natural as this sounds, it amazingly is something which most companies cannot do. Instead, data is manually re-entered as an order moves from one stage of fulfillment to another.

Automation would greatly reduce manual effort and error, and anyone could see how it could make the organization more efficient. The danger, however, is that you start to automate all sorts of existing processes, even those that are losing money, while failing to focus on better opportunities. But the only way to identify the right business opportunities is through next step on our hierarchy of needs: analysis.

3. Analysis: Perhaps the greatest value of a common data platform is actually the ability to analyze the organization as a whole, rather than just blindly automating processes. This would allow you to answer some important questions, like: Which products should we sell? Or: Which customers are actually profitable?

There's an interesting chicken and egg problem here: you can only answer questions by having data, but you won't know what data you need until you know what questions to ask. Thus, while building a common data platform would help an organization analyzes performance on an ongoing basis, it may actually be better to start with a list of key questions and attempt to answer them first with legacy data and estimates. This way, we could get an idea of where the organization should be headed before implementing new software.

4. Intelligence: This truly is the holy grail for enterprise software: using all that data, automation, and analysis together to improve bottom-line results. It often relies on data to support analysis that identify the opportunities, automating processes to capture those opportunities, then collecting additional data along the way. It could be something small, like the way Amazon.com uses shopper behavior to figure out which products to show to new visitors. Or it could be something sweeping and comprehensive, like using detailed sales and profitability data to identify new lines of business. Although very few companies have achieved this level of sophistication, it is exactly what every company must do to become the leader in its field. More than streamlining some back-office processes, this should be a ultimate goal for implementing enterprise software.

In my future blogs, I will write about how the way enterprise software could fulfill these needs is fundamentally changing. I will also give some examples of how to analyze operational data to identify opportunities.

Bookmark and Share

Tuesday, March 11, 2008

WikiPedia's Financial Difficulties and The Limits of Volunteerism

Yesterday's Los Angeles Times had an article about WikiMedia's financial difficulties. It's interesting to see that a professional core team is required to sustain even this uber-example of community volunteerism. This professional core team, in turn, needs to be paid, thus requiring a business model to sustain it.

So are we looking at a limit to what community volunteerism could achieve? Does this mean any large-scale effort would ultimately require a commercial aspect to stay relevant, as many open source projects have come to believe as well?

Perhaps in the end, none of us could ever escape the need to balance our social obligations with economic realities. Not that that is a bad thing: the whole point of a market-based economy is to allocate scarce resources, so that activities don't grow beyond what could be economically justified. This may mean hard choices for individuals as we decide on whether to pursue our passions or get a job, or (hopefully) find a job that allows us to do what we love. For the greater community as a whole though, this system does ensure greater efficiency and a more rational long-term allocation of time and resources.

Bookmark and Share