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.
- Learn about elegant coding to avoid anti-patterns allowed by languages that are too flexible.
- 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.
- Follow an automated process of testing, packaging and deploying for all releases to execute them from a single command line.
- Enforce static analysis rules so no build can pass if any of the rules are violated.
- 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.
- 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.
- Ensure user interfaces are carefully documented to let the end-user see what the software does.
Full post here, 7 mins read