- Define the development process comprehensively, including tools & technologies you will use, strategies for issue tracking, and who can add & merge new code.
- Start documentation from Day 1. Begin with a README file for other developers: introduce the project, explain how to run it locally and/or contribute to it.
- Develop a separate product manual for end users.
- Define and enforce coding standards for consistency.
- Set up static analysis tools to detect code smells of deeper structural problems, such as dead code, code duplication, etc.
- Develop a strong automated test suite. This can also serve as documentation for all possible use cases.
- Automate the setup of a local environment as close as possible to the production environment. Make sure dependencies are updated in this setup as features get added or new versions deployed.
- Build a stable and automated delivery pipeline with the requisite checks before you can deploy.
Full post here, 14 mins read