Vision & Principles

Vision

  1. To become the biggest student project in the world — many contributors, many users, a large and evolving codebase, maintained to an exceptionally high quality standard.
  2. To become a model training ground for Software Engineering students learning SE skills on a real, non-trivial product.
  3. To become the most flexible free peer feedback tool on the web.

Principles

TEAMMATES is not a typical student project. Most contributors are novices working part-time for a short period, yet the project maintains production-quality code with frequent releases to an active user base. Contributors also work with a large legacy codebase without access to confidential live system data. These constraints are what shaped the principles below.

  • Keep moving forward: We release frequently. Rewriting from scratch is a last resort.
  • Be agile: We change quickly to match emerging requirements, with minimal yet sufficient documentation.
  • Defend code with tests: We practice collective code ownership backed by fully automated regression testing.
  • Master the tools we use: We keep a minimal toolset. New tools are added only with strong justification.
  • Value quality over functionality: All code is reviewed. The system should be good enough to be considered model software.
  • Know what you are doing: Understand not just that something is broken, but why. Not just that it works, but how.
  • Seek the best solution: Don't settle for the first workable approach.
  • Reduce pain for the team: If you spent effort figuring something out, improve the docs so others don't have to.