Firstly, the profile of the consultant that you need is very specific. If you cannot find someone who worked in a similar domain in the same languages, do not hire him.
Secondly, the probability is 99% (I like dramatic numbers), the analysis will be as follows:
- Consultant explores the application
- The consultant understands 10% of the application.
- Time, time for the report
- The consultant advises full correspondence (without refactoring, simple rewriting).
This way you can save on what the consultant will cost.
Here you have only two solutions:
- Observe the actual source code, but identify the correct methods for fixing the problems, so you have a very long refactoring promoted by those who know the application.
- Get an additional command so that the new application replaces the old one
If I talk about the second team, this is because you cannot bring only one architect to create a new application and have an old command with it:
- They are too busy with the old application.
- There will be friction, because the beginner will undoubtedly underestimate the task.
I speak from experience, believe me.
If you are on the path of a “new application”, do not set too high expectations. As a result, you will get an application that has less than half the functionality of the current one, simply because you cannot squeeze more than 30 years of special cases and exceptional situations into fresh software.
Oh, also, if your developers tell you that they have a plan, be sure to listen to them. They most likely know what they are talking about.
Julian aubourg
source share