Thursday, September 10, 2009

Open source applications can help mitigate SME growth pains

You seek growth and growth is painful


You are an SME (Small Medium Enterprise), also known as an SMB (Small Medium Business), growing beyond the limits of hands-on management by the sole proprietor or a small number of partners working closely together. Your business is stretching the limits of QuickBooks, PeachTree or GnuCash. Your number of employees have grown to handle larger volume of transactions, but the partners still make all the decisions. You've reached a stage where continued growth requires you and your partners to delegate some of the decision making to employees. You find that you have a number of point solutions that do their job adequately but don't share data. You are relying on Excel for operational reports but it takes time and effort to pull the data together. You have come to the conclusion that you need systems that allow your Managers to be effective and feed you the information you need without drowning you in the details of day-to-day operations.

IT or die!


Information Technology (IT) has become a critical, competitive business tool for SMEs:
  • After the globalization of markets, SMEs have been under tremendous pressure to integrate themselves with domestic as well as global suppliers and customers to sustain their competitiveness.
  • Global players take a shorter life cycle to innovate and work on a fast turnaround time. This places tremendous pressure on SMEs as downstream players to provide the necessary support. With the addition of the stringent requirement placed by international customers, vendor support forms a crucial aspect for SMEs.
  • The availability of the right information at the right time is absolutely essential to meet the fast-changing market needs.

Infrastructure, desktop or applications?

For SMEs, there are open source options available in three broad categories.

  1. On the infrastructure side, you probably are already using Linux operating system in some areas and perhaps Apache, which is the most popular web server software. Open source has become increasingly attractive for SMEs at this level, the commodity part of the computing environment that end users rely on but don't see. Other infrastructure components such as databases, email and directory services use data formats mostly standardized that it is not difficult to move data between products.
  2. On the desktop, there are viable open source options emerging, which are covered in our other blogs.
  3. But when it comes to user-facing line of business applications, the criteria for evaluation is more complex. On the other hand, the opportunity for setting up your business for growth at reasonable cost is compelling. So, in the next few blogs, we intend focusing on this area.

ERP, CRM and BI require big outlays and long lead times, right?


You hear about other businesses implementing fancy ERP, CRM and BI projects - costing millions and taking several years. At the end of that, some of these projects fail and result in lawsuits. You worry whether it is wise to bet the business on implementing a few expesive, complex and risky enterprise applications, no matter how attractive the benefits appear to be.

However, open source applications have become mature and viable contenders. This is more so in the enterprise applications space. You can aim to minimize cost, lead time and risk in the following ways:
  • Cost: You will still have to budget for installation, configuration and integration costs. However, you can avoid licensing costs entirely, if you go with the open source software. Or pay modest license fees, if you decide that you need the commercial open source option. You should also plan for modest ongoing support costs whether you plan to use a commercial open source vendor, consultants or in-house IT staff.
  • Lead time and risk: You are not investing heavily in licenses and so you are not under pressure to go for ambitious big bang implementations. You can go for a phased approach, gaining incremental benefits and minimizing risk.

Open Source concerns

SMEs that have never implemented an Open Source application at an enterprise level, tend to have the following concerns:

  1. Concerns about the project viability: The worst case scenario for software buyers comes when the creators of the product stop supporting it or go out of business. Even when you license software from a commercial vendor, you may have to take precautions such as source code escrow. However, with open source projects, you do need to do your due diligence about whether the project is active and has widespread developer support. Once you have done that, you have access to the code, and open source communities provide many avenues of support.
  2. Concerns about support: Commercial open source software suppliers commonly provide service contracts to install, customize and maintain their projects. Payments can be tied to progress of work.
  3. Concerns about quality: The 2005 study of software defect rates by Coverity found that open source projects beat proprietary projects on quality by order of magnitude.

Emerging Open Source enterprise applications


Though there are a number of categories within enterprise applications, we have chosen to focus on three broad areas - ERP, CRM and BI. Within these, again there are a large number of open source options. We will focus on a handful of these:
  1. Enterprise Resource Planning (ERP): Compiere and OpenBravo
  2. Customer Relationship Management (CRM): SugarCRM
  3. Business Intelligence(BI):
    1. Front end: Pentaho and JasperSoft
    2. Data integration: Talend
    3. Data Warehouse: InfoBright

Options for Open Source support

  1. Commercial open source: Many of the leading open source solutions are backed by commercial vendors who offer installation, integration and ongoing support. Depending on how business critical the application is as well as availability of expertise within your employee base and consultants, you can consider this option.
  2. Internal experts:
    1. Community support: Successful open-source initiatives spawn active online communities that offer multiple means of support. These include documentation, FAQs, mailing lists and discussion forums. You should plan to have internal engineers who can be held responsible for systems and escalation paths should problems arise.
    2. Training: You can get your existing engineers trained to work with the software. Training is available from an increasing number of companies.
  3. Consultants: Consultants are a viable option for you if you don't have suitable staff or cannot afford full or part time staff. It's best to use consultants to help with the initial installation and configuration while at the same time training your regular employees for ongoing support. For ongoing problems, you can use the consultants on call as needed.

Guidelines for success


We recommend that you follow these guidelines to maximize your chances of success:
  • Evaluate with real data: In the case of commercial software, SMEs may often find it difficult to capture the attention of Sales people. This is because Sales people have a better incentive to pursue larger opportunities with billion dollar corporations. In addition, you will have to sign non-disclosure contracts and still not be able to get a full copy of the software for evaluation. On the other hand, the biggest advantage with open source software is 'try before you buy'. You can download open source software at your convenience. Evaluating it with real data will give you a better feel for suitability as well as provide pointers to integration challenges.
  • Dedicate a testing environment: Once you have selected the software and decided to deploy a pilot for testing, keep a dedicated server with necessary copies of the database and other related software for testing. Any configuration changes, patches and upgrades should be run through this first before deploying to production.
  • Start small and deploy in a phased manner: Plan on taking baby steps initially. This will give your users as well as the engineers an opportunity to learn as they use it. Once your team has developed some familiarity and confidence, you will be in a better position to decide whether and how to deploy more critical modules.