Thursday, March 19, 2009

o-hcm v0.1 released.

Putting together all we have learned so far from my work at various organizations including PeopleSoft, we are working on developing an Open Source Human Capital Management System called o-hcm. It will contain the best of features, yet keeping it simple and will integrate seamlessly with Ofbiz and Opentaps since they all come from the same stable. Check it out at https://sourceforge.net/projects/o-hcm/ and tell me what you think.

Tuesday, March 10, 2009

Enterprise Applications Strategy

Enterprise Application Strategy (EAS) is one of the most important decisions of any organization, small or big. And by EAS, we should not assume ERP, CRM and SCM. An EAS must include the desktop operating system, the productivity tools, collaboration tools and the back office/front office applications.

While the operating system and desktop tools are dependent on the hardware vendor, the enterprise applications are often the result of painstaking analysis, evaluation and eventual implementation. Such projects can take considerable amount of resources and time. It might cost between Rs 10,00,000 and Rs 25,00,000 for the software license, hardware purchase and implementation. When you add the annual license and support costs, the total cost of ownership increases.

An organization using some distribution of Linux, OpenOffice, Firefox, Thunderbird or Evolution will achieve the same level of productivity as another using commercial closed source products that are based on Microsoft® Windows. Determining cost effectiveness is really a financial exercise and is beyond the scope of this essay. The objective is to generate enough curiosity and provide us with enough information to assess what options are available.

Software Evaluation Criteria
Use the following key evaluation criteria to determine cost effectiveness of application/software:
  1. Total Cost of Ownership: What is the total cost of ownership of the application? Does this need special hardware? What other applications should be purchased/installed to ensure optimum usage? What is the cost of training/retraining users? Are there any implementation costs involved?
  2. Reliability: How reliable is the software?
  3. Security: Are there any inherent security risks? How to ascertain that this piece of software does not contain malicious code?
  4. Defects: How are defects identified during and after the development of this product? Has it been extensively tested?
  5. Support: Is there a support structure that can keep the software from becoming unusable or obsolete? What is the SLA, if one exists? Is there a road map for future updates/upgrades?
  6. Scalability: What will the impact when the organization doubles or triples in size?
  7. Compatibility: Is it compatible with the existing applications and software? Can it be used with existing data? Is data migration methods standard and easy to use?
  8. Quality of Code: What quality management methods were used in its development and testing?

Desktop System Software
Linux - so many flavors of Linux and each of them so good, it is difficult to zero in on any one distribution. Features match what is available in Windows, if not better. Usability, which was a bane for Linux due to its Unix like architecture, has improved dramatically making it better than Windows, if not the same. Ubuntu is so user friendly that it will make you think twice before paying for that copy of Windows. In fact, Dell has started shipping desktops and laptops with Ubuntu, on request.

A Linux desktop is not only Open Source and therefore free, but it also has a lower risk profile. There are very few malicious programs that attack the Linux platform. One reason is that there were not many of them and viruses need a large installed base to make an impact. Another reason, and an important one, is that the security is higher in Linux (based on Unix) which makes it difficult for viruses to take control of a Linux desktop.

What makes it cost effective to use a Linux desktop?
  • The OS comes bundled with OpenOffice.org office suite, saving you over USD 500.
  • Firefox, Thunderbird and Evolution comes built in. Evolution, a email/address book/calendaring tool, is as good as Microsoft Outlook.
  • Linux is far more secure, thereby eliminating the need for anti-virus solutions or firewalls. For those who are paranoid, there is an anti-virus software called ClamAV and Firestarter, which is a very powerful firewall application.
  • For those indispensable Windows games and applications, there is Wine, which is a windows emulator that can run almost all of them.

Desktop Tools

Under this category one must include word processor, spreadsheets, presentation software, money management solutions, image manipulation, audio/video tools, Diagramming tool and Project Management software.

Open Office is an excellent suite that is compatible with all the leading commercial closed source solutions. This article was written on OpenOffice.org Write, the equivalent of Microsoft's Word. Unless you have some really esoteric formulas embedded in your Microsoft® Excel® spreadsheet and you don't have the time to redo them if OpenOffice.org makes a mistake, there is no reason not to try OpenOffice.org. If you don't want to install any software locally, try Google documents. All you need is a browser, preferably Mozilla Firefox. :-)

Money Management solutions are a dime a dozen in the market. But if the idea is to save that dime, try GnuCash. An open source solution that is as open as it gets, it is a great replacement for Quickbooks® , Microsoft Money® and Tally® . Of course, not many of the accountants in the country know how to use it because of Tally's overwhelming presence in India. But we will get there, soon!

Adobe Photoshop® is the holy grail of image manipulation software. For the OSS world, enter the Gimp. GIMP is an image editor par excellence that can do everything Photoshop® can do. Just search for GIMP on Google® and you will see how popular it is. Gimp even works on Windows and Mac.

Audio/Video tools are a must for today's media hungry users. There are great tools like Nero, PowerDVD, WinDVD and then there are tools like Brasero, VLC Media Player. While the former set of tools are commercial closed source, the second group is open source and costs you nothing to install. Some of them are also available on Windows. Each of these tools are packed with enough features to give the paid software the boot.

Microsoft's Visio is an excellent diagramming tool. It costs about USD 220, the last time I checked. So I use Dia , a diagram creation tool that supports UML modeling and runs primarily on Linux but also Windows and Irix.

Microsoft Project (MSP) is a very good Project Management tool. It is used quite extensively across the globe, costs about USD 550 and is pretty flexible. It even has a Microsoft Project Server product that can serve as your enterprise project management solution. I use OpenProj from Projity. It's user interface and features will be familiar to MSP fans. OpenProj fills an important gap in the desktop market, as a key component in the Office family of products now has a replacement available on Linux, Unix, Mac or Windows.

Enterprise Applications

Traditionally a stronghold of commercial closed source giants like SAP, Oracle, PeopleSoft, Siebel, Salesforce.com, JD Edwards & Microsoft; the enterprise applications world is changing at an extremely fast pace. SugarCRM is a very popular Commercial Open Source CRM software that has been embraced by a lot of Small and Medium Enterprises (SME). What makes it attractive is that it provides quite a bit of the Sales Force Automation that is needed by most organizations with a peppering of other related processes. Add to it the fact that it can run off a shared/virtual dedicated server, and the proposition is definitely a killer. The application is also available in the commercial flavor with more features at significantly lower costs than SalesForce.com.

vTiger is an Indian solution that is built on the SugarCRM platform. The navigation is user-friendly and the analytics are a definite positive. Both SugarCRM and vTiger work on the LAMP/WAMP (Linux/Windows along with Apache, MySQL and PHP) stack. They use relatively low resources and a Dual Core P4 box with 2 GB of RAM can comfortably support over 20 users. Good value for money.

Apache has the largest web server user base in the world. They are a big Open Source Software sponsor and they now have an ERP platform/framework called Open For Business (OFBiz). Having designed large solutions using PeopleSoft/Oracle applications, one fully understands the scalable architecture that OFBiz has been built on. Some of the key team members of OFBiz decided to make it better by adding CRM and Financials to it. The end product is called Opentaps and also has a large fan following. OFBiz/Opentaps provide everything an SME needs and more, for Manufacturing, Online Storefront, Accounting, User Management, Inventory Management, CRM and Financial Accounting.

For those organizations that are largely project driven, ]project open[ is an excellent Enterprise Project Management solution. It works on a slightly different stack of AOLServer and Postgres. While the technology stack is uncommon, the product is wonderful and provides everything that is needed for a software consulting, event management or any other organization where time management is critical. It even integrates with GanttProject to upload tasks and create templates. ]po[, as it is abbreviated to, has a pretty large user base and is used across the globe by a variety of industries.

Conclusion
We are witnessing a change in the way software applications are increasing our productivity and entertaining us. While these applications are not very expensive in most cases, we should be cognizant of the fact that there are other avenues to explore before settling on the software of choice. The open source movement, if one may call it that, is gaining great momentum and is a significant force to be reckoned with. The software quality is much better, not because of the revolutionary nature, but because people are doing it willingly and collaborating for the common good. Contrast this with commercial software that is delivered against tight deadlines and sometimes the code might just not make it, or worse still, makes it with significantly bad quality of software. While commenting on the philosophy of OSS is beyond the scope of this article, here are some reasons why OSS is better.
  • The developers are voluntary, this translates to more passion resulting in better quality
  • The nature of OSS development lends itself very easily to compressed release cycles
  • User needs can be implemented pretty quickly in the forthcoming release
  • Bugs are fixed at a rapid pace in total contrast with commercial closed source software
  • Evidently, user responsiveness is much higher in OSS
  • Lastly, the security is significantly higher because a highly distributed team participates in the design, development and testing of OSS.

This does not mean in any way that using OSS is easy and we should do away with commercial solutions. OSS is great for people with do-it-yourself attitude. We need to have skills in house or look for partners who are willing to assist our organization in the OSS strategy. We have all been pampered by the support offered by the large software production houses. For users of Oracle or SAP, support comes at a significant price, but it is from a single source. Troubleshooters from these large organizations can typically come and assist us in resolving problems with the entire stack. In the OSS world, there is no equivalent. The stack consists of multiple products and pinpointing a problem might get difficult if your partner is not familiar with the stack or does not have a network that can support them solve our problems. We need to weigh these factors carefully before taking the plunge, either way.