Obtaining and Implementing Software Solutions

Why Reinvent The Wheel?computerise its conference booking and billing system,
For software, be it a database, operating system orwhich up until that time had been paper based. As a
any other application, whatever you need, chances areconsultant, having analysed their requirements, I
something very similar has already been written.concluded that what they were looking for was very
Having located something similar it is usually very easysimilar to a hotel management system. After a search
to adapt it to your own needs. This is a process thatfor suitable suppliers, Innsite (now RedSky IT) were
works with both commercial software and with openselected. Innsite had a modular suite of programmes
source software, and provides many benefits includingthat would do everything that Warwick required
reduced cost, time and risk.except for booking facilities such as meeting rooms
An Interruptionand AV equipment. They were happy to write a
The standard life cycle of a typical softwaremodule especially for Warwick's needs. This solution
development project can be summarised asturned out to be more cost effective for Warwick
perception of need, systems analysis, requirementsthan having their own system written.
definition, design, implementation, testing, installation,Complaints Database
maintenance. Variations on this are possible, such asRecently I was approached to fix problems with a
prototyping and rapid application development.database used to track complaints in a disability
However all variations go through each of theseadvocacy service. The database had been written in
stages in some form.house several years previously, the developer had left
By interrupting the process after the requirementsand the documentation was missing. It quickly became
definition stage it is possible to short-circuit much of theapparent that replacing the database was going to be
rest of the process. Given the requirements it is ofteneasier that trying to fix a database that was running
possible to find some existing software that providesunder an unsupported database system.
most of the desired functionality. To do this it isAfter a workflow analysis and requirements definition
necessary to have a wide appreciation offor the database it became apparent that what was
contemporary software in many fields. Targetrequired was very similar to a Customer Relationship
systems for re-use are often found in unexpectedManagement (CRM) database. A search on
places.Sourceforge, the home of many open source
Re-purposing existing software will usually take lesssoftware projects, turned up several CRM systems.
time, cost and risk compared to writing new softwareThe solution chosen most closely matched the
from scratch. Provided that a software application canrequirements, was most mature and was easiest to
be found that meets most of the requirements for theadapt to the clients needs. The solution is based on a
new system, then adding the extra functionality willMySQL database with an interface written in PHP,
involve less time, cost and risk. If a business case canboth of which are also free software. The simplest
be made for developing a new software system, thenway of providing the necessary platform to run the
a stronger business case can be made forsolution on was to install XAMPP, a single package
re-purposing existing software.that provides an integrated set of Apache web server,
Two ExamplesMySQL database and PHP web programming
Here are two examples from my own experience.interface.
The first was a conference billing and booking systemSummary
for Warwick University, the second a database toInterrupting the standard life cycle of a software
track and gather statistics at a disability advocacydevelopment project after the requirements have
service.been defined, to locate existing software that meets
Conference Billing and Bookingmost of the desired functionality, can reduce the time,
In the mid 1980's Warwick University wanted tocost and risk involved in delivering a working product.