Our focus is on solving legacy code issues – modernising, extending or older traditional systems. To do this we utilise many years of expertise in traditional languages and techniques together with understanding and awareness of more recent developments in tech.
We are flexible, and will tailor our services to suit your needs – so if you don’t find your specific problem mentioned on our site, then please get in touch and we’ll let you know the best way we can help.
Many existing systems have a substantial amount of older code, which may
be poorly organised, or organised in a more traditional way
incorporate mysterious design choices and be difficult to understand
utilise modules or libraries which are no longer maintained
employ deprecated functionality or language features
be written in languages or styles that are no longer common
We specialise in legacy systems meeting these criteria. We are experienced in dealing with projects of every size, from basic scripts to large-scale applications encompassing hundreds of database tables, and code lines numbering in the hundreds of thousands.
There are several good reasons for wanting to migrate your legacy system – for example
low remaining disk space
insufficient bandwidth or poor connectivity
to benefit from faster hardware (e.g. SSD)
to take advantage of cloud architecture
cutting costs by shifting to a cheaper service provider
Recent advancements have made migration relatively straightforward for most systems developed today. In contrast legacy systems may not have been written with portability and platform-independence in mind – which means getting them to play ball on new hardware can be much more of a challenge. That’s where our solid experience in migrating legacy systems can come to the rescue. We can take away the headache and get your new deployment up and running quicky, leaving you free to focus on moving your business forward.
We tend to steer our clients away from rewriting existing systems where possible, because it’s often a far more difficult task than it might look. However, there are valid reasons for opting for a more large-scale rewrite – for example:
major systemic problems are holding back performance, blocking the possibility of enhancements etc.
there are so many significant individual bugs that trying to find and fix each one would be a greater task
the projected lifetime the code needs to continue operating over is very long
to remove ‘blackspots’ – if the volume of legacy code is small compared to more substantial modern processes
In general a rewrite is desirable if the projected revenue benefits beat the costs to rewrite. This may seem an obvious statement, but our experience is businesses rarely perform this calculation, and seldom choose a rewrite for this reason. Be warned: if your in-house programmers have suggested a rewrite because ‘no one is using this language/software/technique any more’, they are thinking of their own convenience, and not about your business.
We can help you gauge whether a rewrite really is the best way forward for you – so that you don’t waste valuable time, money and resources chasing a solution that you almost had already.
If we do determine that a rewrite is best for you, then we will work to deliver it as promptly and painlessly as possible. Our expertise in legacy systems will enable us to get to grips with what you have already, so we can code it up quickly using a fresh, modern, object-oriented and modular design.
If you find our advice valuable, but would prefer to keep development in house, then our consultancy may be for you. Did we mention your first consultation is free? Tell us the nature of your problem and we’ll get back to you with our honest opinion. We won’t push you into services you don’t need, and will bring to your attention any simpler solution if we can think of it. Send us as much detail as you can, including as much of the code as you feel comfortable with – because the more information we have, the better the advice we can give. We won’t take any payment details and there is no obligation to pay for any further services.