Need New Business Software? Part IV - Custom and Open Source Software
![]() |
Discuss this Article No responses yet, be the first... |
While rules vary, custom modifications to open source software can often be submitted for inclusion in the "main" open source product. In this article, I use the term "your IT team" which may include your employees and/or a vendor to which you have outsourced your development.
Benefits and Risks
The biggest benefit of custom software is that you get exactly what you need (or at least what you pay to develop). Open source software can give you a foundation to start from to develop the specific requirements you have, or can be operated as is.
On the risk side, software development projects have a history of missing deadlines and exceeding budgets. Last year, as many as 25% of projects failed. Project management skills, business analysis, software development and testing skills are critical to successful project completion. Several methodologies have been developed, such as agile programming and Lean Project Management, which aim to deliver functionality quickly and reduce overall project risk. Overall, custom software takes longer to implement than SaaS or packaged software which closely meets the business' requirements. You are trading complete control for time, cost and a higher degree of risk.
Because open source software is often developed by an informal group of programmers, it may not be simple to modify, lacking programming and testing standards. On the plus side, because so many developers know the code, issues are often solved and rolled out faster than custom software development or traditional packed software. Similar to packaged software, changes to open source software can negatively impact your ability to apply new enhancements and bug fixes to your version of the software. While open source software is becoming more commonplace, there are still not nearly as many consultants or employees available with those skills.
Note that open source software is undergoing a change where established companies like IBM and Oracle are paying developers to produce software under a more formal, rigorous methodology. As open source becomes more mainstream, the resources involved will also continue to grow.
Licensing
- License purchases are only required for the programming tools and any development code purchased to speed up the process.
- Open source software licensing varies and the agreement should be reviewed carefully. It may require that products built on the software or customized versions cannot be sold.
- Some companies offer support agreements for open source software. Consider purchasing support if the application you are looking for is mission critical, or make sure you have strong developers on staff.
- There are no maintenance fees for custom software as you are responsible for bug fixes and enhancements. There are typically still maintenance fees for software development tools and database licenses.
Implementation
- You own the servers and are responsible for installing and maintaining them. You are also responsible for providing the level of systems availability required by your business.
- Custom software development requires considerable involvement from the business to make sure the functionality and design supports the business processes appropriately. The business users also serve as a prioritization committee, deciding what is critical for each release of the software. Benefits to this involvement include increased familiarity before training and fewer issues with transitioning to the software.
- Be careful you have reviewed business processes before defining custom software requirements. This is a best practice for all software implementation projects, but particularly critical for custom. Automating a cumbersome, complex process can create more problems than it solves.
- The primary decision on open source software is whether you will treat it like custom software, or like packaged software. Depending on your choice, follow those guidelines.
Maintenance
- All enhancements and bug fixes for custom software are done by your IT team. Enhancements and bug fixes for open source software may be done internally or externally by the network of developers supporting the software. Just remember, the external developers do not have a contract with you or a vendor - their efficiency is created by their technical desire to fix and improve the software.
- You are responsible for backing up the data and restoring it in case of issues.
- Unless you have a support contract with an open source vendor, your IT team is responsible for all issues relating to the software. Even for custom software there are online resources, but the buck stops at your IT team's doorstep.
Consider outsourcing your initial custom software development if you don't have significant experience on staff. If you go the open source route, make sure you have readily available local resources that can support the technology. Open source software can also be a good option if your IT team understands the technology or has a strong partner. Unless you have unique functionality that gives you competitive advantage or is not available on the market, strongly consider SaaS or packaged software.
Copyright © 2009 by Laura Pettit Rusick

