• 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