Custom software migration

Migrate Your Custom Softwarefor modern architecture and scalability

Custom systems rarely come with an accurate specification, because the old system is the specification. We have moved three of them, and each one started by finding out what the software really does.

The specification is the old system

Custom software usually has no accurate documentation. The rules are in the code, in the database and in the habits of the staff who use it. Some look like bugs and turn out to be how the business has worked for a decade. So the first deliverable of a custom migration isn't code. It is a written account of what the system actually does, checked with the people who use it.

Three systems we have moved

Three ways to go about it

Replace it in steps when the system can be split: new code handles one area at a time while the old system keeps the rest. Risk stays small and value arrives early, but you run two systems for a while and something has to keep their data consistent.

Rebuild alongside it when the old code can't be separated, as is common with old PHP that has no framework. Both versions run in parallel and you compare their results. This takes more patience, and it is the only way to make a rewrite verifiable.

Leave it alone when the system works, is secure enough and isn't holding anything back. That is an unusual recommendation for a supplier to make, but not every old system is a problem. Sometimes putting it behind a modern API is enough.

What to ask before committing

What you are left with

A working system plus the handover documentation that the old one never had: what it does, how it is deployed and why the unusual rules exist. That documentation matters as much as the code, because otherwise the next team finds itself in the same position you are in now.

Custom systems we have moved

Custom software migration questions

Nobody here understands the old system any more. Can you still move it?

Yes. That is the normal starting point. We read the code and schema, then check our understanding with the people who use the system. It takes longer than if the system were documented, and the assessment reflects that.

Do we need to freeze new features during the move?

Ideally for the part being moved, since every change has to be made twice during that time. Moving in stages keeps any freeze short and limited to one area.

Who still understands your system?

Tell us what it does, what it runs on and who depends on it. We will tell you whether to replace it, rebuild it or leave it alone.

We reply within one business day (IST).