Seven deadly sins of a software project

“Maintainability is the most valuable virtue of modern software development.”

Do these seven things to make maintainable software.

  1. Learn about elegant coding to avoid anti-patterns allowed by languages that are too flexible.
  2. Ensure all changes are traceable (what was changed, by who, and why), by always using a ticket to flag any problem, referencing the ticket in the commit, and preserving its history.
  3. Follow an automated process of testing, packaging and deploying for all releases to execute them from a single command line.
  4. Enforce static analysis rules so no build can pass if any of the rules are violated.
  5. Measure and report test coverage and aim for at least 80% coverage. This coverage metric also lets future developers see if coverage is affected when making changes.
  6. Beware of nonstop development. Always release and version-alize software so future developers can see your intentions and roadmaps from a clear release history (typically in Git tags and release notes), and have each version available for download.
  7. Ensure user interfaces are carefully documented to let the end-user see what the software does. 

Full post here, 7 mins read