Developing with hand-off in mind
Things to remember when developing an application
When developing an application, it is important to keep in mind that you may not be the only one working on it. It's likely that you may need to hand off the project to another developer or team at some point. So, it's only right to make sure that the project is well-documented, easy to add new features to, and easy to maintain. To put it simply: developing in the shoes of the person who will take over the project.
Since last year, I have been developing and maintaining a learning management system (LMS) for a client. And now, the time has come for me to hand off the project to the client's internal team. There are some processes that have not been optimized yet. Up until this point, I've been making do with the current setup. But now that I'm about to hand off the project, I realize that I need to make some changes to make the project easier to maintain.
The first issue to fix is the deployment process. A backend app is developed in NestJS and deployed on Amazon Elastic Beanstalk. Not being familiar with the EB CLI tool, I've been creating a zip file of the project and uploading it to the Elastic Beanstalk console. The current approach has been working fine, but there's a better way to do it, using the EB CLI tool.
So I'm working on the README file and adding some EB CLI-related commands. Writing the README file forces me to reverse my steps toward the beginning of the project and start from there. It would be helpful to include some notes about the project configuration and how to troubleshoot common issues.
That's a lot of write-up to do, but this chore must be done. It's not only a way to show respect to the next person who will work on the project, but also a responsibility of a developer who cares about the project's future.