The Most Awesomest Software Project Ever

  • Healthy culture. A software project¬†is its invested maintainers, and they’re also responsible for maintaining the culture.
  • Virtue abounds. Everyone on the team really really cares about doing a great job.
  • Awesome documentation, and clear/sensible standards around same.
  • Easy to test. Easier to test than not test.
  • Easy to code. New developers can get code, run apps/services, change/commit code their first day on the job.
  • Extant coding standards.
  • Extant tool to lint code (ensure conformance to coding standards).¬†Integrated with source control so you can spot lint errors before you commit.
  • All tools work with any dev setup–they are not tied to any operating system nor IDE.
  • Distributed, modern source control.
  • Continuous integration. Every commit on every branch is automatically tested.
  • Issue tracking.
  • Integrated source control, continuous integration, and issue tracking.
  • Well-crafted, useful automated tests.