tl;dr: Taking a good first step is important (1) Define the development process, tooling, etc... (2) Build the foundations for good documentation (3) Define and enforce coding standards and guidelines (4) Setup static analysis tools to detect code smells early (5) Automated tests suite (6) Development environment.