Let's be honest: no person or company enjoys picking up on work done by others. Different programming styles, technologies used, ways of thinking and lack of documentation are only a few examples of why software companies run away from such projects. It is always best for them to develop software from scratch.
And we agree. But in the real world that is just not feasible for customers that already poured a lot of energy and money into a software that is 70% completed. It is already stresfull enough for a customer to switch to a new company to develop the last 30% of the product so let's make it smooth.
How do we handle the transition?
We start off by trully understanding what the customer wants and what she expects the software to do. We look at the original briefing, question what we don't understand and only then do we look at the code of the product that has been partially done.
Lastly, we find the smallest feature we can develop that brings the most value to the product. This helps us better understand the code of the product while giving the customer a better estimate on how much time and money the project will need to be completed and deployed.