A great deal of business value lies trapped in legacy code bases. We help companies to leverage their investment in existing code. Our legacy strategy takes a 3-tiered approach to add years to your code’s lifetime.
There is an almost inevitable slide into complexity that happens to projects. As legacy code is more ubiquitous than green fields development, this is an area that deserves more of our attention.
Legacy systems represent huge value to the business, and the ideal situation is to be able to turn around a system that has degenerated into the Big Ball of Mud (an unmaintainable state where every change takes longer than it should because the code is so bad).
KRS techniques for handling legacy code
We have techniques for handling legacy projects that have been proven in many consulting projects over many years. These techniques include Domain Driven Design patterns, as well as a way of looking for key leverage points and the blockers that are slowing everyone down.
As mentioned, there is much business value in legacy code bases that needs to be salvaged. When looking at whether to maintain the code or to rewrite, we also help companies to evaluate their current team skills and domain knowledge for the best decision.
A useful approach comes from Ron Jeffries, one of the original Agile signatories. Imagine your code like a field, and over time bushes grow up that impede your progress. If you clear the bushes as you go, you will soon have useful paths where you most need to walk. So it is with code – the most frequented areas can be cleaned up without having to tackle every problem.
We take this iterative and sustainable approach in dealing with Legacy and Rescue projects in C# (and usually with SQL). These are areas where we have extensive competence, and a solid track record of helping teams to deliver. We frequently work hand-in-hand with the client’s own developers and upskill the team so that they can maintain the system in future.
We were invited to present our Legacy Strategy at an International Conference run by JetBrains in 2021. Watch our International talk on Legacy Refactoring.