Software applications are not like houses: it costs a lot more to build an application from scratch than to buy a new one. But why is that?
For your consideration
There are a few key things to consider when deciding between building your own library, KM or collections management system versus buying one: All it takes to develop your own solution is time, money, effort, and a willingness to accept risk.
Developing a simple, well designed, properly documented, and fully tested system usually takes at least a person year of effort. Therefore, if you only have one developer, it will take a year to get the project done. More complex applications will take several person years of effort.
Reality check: Most companies in the business of developing software have a dedicated, full-time team of programmers. Is it realistic to think you can develop a good application in a reasonable time period?
Software engineers, analysists, designers and project managers are not cheap. If a simple project requires a person year of effort, factor in salaries and benefits (or consulting fees) and you will invest about $100,000. You should expect to spend five times that—or even more—for a complex solution. Even if you do get ”people for free” because they already work within your organization, you still need to determine whether they are qualified, committed and, most importantly, can build a system that’s easy to maintain after it’s built.
Reality Check: True story—I know a library manager who hired a single programmer to develop a very basic system for her organization. The organization was forced to cut staff. They kept the programmer because nobody else could maintain the system. The role of the library manager, however, was eliminated.
Designing a system from scratch can be fun. The work is very creative and absorbing. It also requires a lot of strategizing and planning. Are you (or your teammates) able to perform your regular work assignments as well as make the effort it will take, working with developers, to envision, document and test a brand new piece of software?
Even if you choose open source (which is free up front), there’s a lot of work to be done to get the software to work the way you want it to. If you don’t have the resources on staff, you’ll need a consultant. And as with any application, it will need to be updated periodically by a qualified developer.
Reality check: There are many companies in the business of supporting open source software—and they all have lots of developers, technicians, and consultants on staff. If the software is already built, what are they doing? Implementations, maintenance and customizations. All of which will require your involvement and continued effort.
While some IT projects do complete on time and on budget—most don’t. And of those which do, most require the end users to accept some major compromises. What impact will not having the system done on time and budget have on your organization and your team?
Reality check: It is important to understand that there are six stages in most custom software development and implementation projects: enthusiasm; disillusionment; panic; search for the guilty; punishment of the innocent, and praise for the uninvolved.
Still want to do it yourself?
Your first step should be to take a long hard look at all off-the-shelf solutions that could do the job you want done. Then, get your development team or consultant to provide you with a feature-by-feature time estimate for replicating your favorites. This will save a lot of design cycles, and more importantly, allow you to understand how much effort building each of the functions will require. Lastly, once you are equipped with estimates, you can prioritize. Which capabilities are must-haves and which are nice-to-have?
And who knows? Along the way, you might find an existing solution that fits your budget and matches your needs. Happy hunting.