The project your company has worked on has stalled after the previous developer has reached the limit of their ability and has decided to take on another challenge (or to stop answering your messages). As a founder, this represents a serious problem for you and your business.
You may be wondering whether another developer can pick up the pieces and move the project forward or whether you’ll need to start from scratch.
Keep reading and find out what are the best solutions when problems like this one arise.
When Developers Can Work on Another Developer’s Code?
This is actually done all the time (if the previous code wasn’t bad). Whenever a company hires a new developer they expect of them to at least spend some time working on legacy code.
Majority of skilled developers have always dealt with these types of situations – editing previously written code was the norm for most of them.
However, a lot of times this process can be difficult for a new developer in the company. The previous person maybe didn’t have sufficient knowledge of good software design and scalable architecture.
That will make editing the code more difficult but not impossible. Quite often, the code will need to be re-written.
Bringing in a good developer can help speed up the process, even in the case of it having to be changed.
If the first developer coded the pages with notes within the code this simplifies the process significantly.
When It’s Not Possible To Change The Code?
In some instances changing the code will be nearly impossible for the developer. Sometimes code is so brittle and inflexible it has to be re-written. If a developer doesn’t follow procedures and writes code out of his head without any documentation, there is almost no chance for someone else to take over.
Sometimes it is not worth it to fix something so broken. It would be like fixing a salvaged car. A good mechanic can do it, but it will be more expensive than buying a new car and the fixed car will never run the same.
This typically happens when companies outsource their software development to low-cost agencies in countries like India and the Philippines – these countries do have excellent developers, but unfortunately became infamous over last years for “quick and dirty” approach on the projects where it is inappropriate, for “cutting corners” and for using juniors for tasks where higher seniority is needed. Good companies and developers from these locations have to try really hard today to overcome the reputation.
The biggest mistake is only taking the price into consideration as that usually ends up costing you more.
Other factors that you need to take into account include good communication and turnaround time. Quite often, cultural differences lead to various problems such as miscommunication.
Hiring a new company to pick off where the previous company left will usually be too time-consuming as the new team will need to learn what the last team did, their style of coding, and get familiar with other specifics.
How To Avoid and Reduce the Need for Changing The Code?
There are a couple of practices that can be put in place to ensure that the code developers produce meets the standard of the company and the brand.
Incorporate Coding Standards
Coding standards are simply a set of guidelines set by the company. These standards lay out the styles and best practices that each developer in the company should follow. They are also useful because they can help determine whether there is an actual problem with a developer’s code rather than just personal preference coming through.
Better coding standards mean that there’s less bad code.
Code Reviews
Code reviews are a scheduled event for two or more developers to inspect a set program of code. Their aim is to ensure that the coding standards and best practices are being followed, to minimize the risk of any errors and vulnerabilities and to detect malware.
All of this can lead to the production of better quality software.
Writing Clear Comments and Documentation
Writing informative explanations of what the code does can make coworkers’ jobs significantly easier. Each company is going to have their own preferences regarding the documentation and comments but there are a couple of guiding principles to keep in mind.
The first step is explaining what the new code accomplishes that the preexisting code did not.
The main document types that act as your blueprints are executive summaries, market research, user research, user stories, wireframes, product specifications, clickable prototype, etc.
For the wireframes, you should have a mockup of each key screen. Then, make a new series of mockups that focus on each user interface element and every state it could be in, based on what the user might do to interact with it.
Your company should have these documents ready before even starting to build your software.