Optimize for sustainable velocity
Prioritize the ability to deliver real value and iterate rapidly while maintaining quality. Fast, reliable iterations enhance the user experience by enabling timely improvements and quick responses to feedback. Sustainable velocity is not just about speed; it's about building processes and codebases that support efficient, low-bug development over the lifetime of the project (however long or short that may be).
Examples
- Your team is working on a fast-growing project. You decide to introduce tools like ESLint and TypeScript. While they add a bit of setup time, they enable your team to code faster in the long run by catching errors early and enforcing consistent style, which minimizes rework and reduces bugs over time.
- You implement continuous integration (CI) pipelines that automatically run tests, linting, and type checks on every pull request. Though it requires upfront setup, it allows developers to merge code faster and with confidence, maintaining high velocity while reducing bugs and the need for manual code review corrections. Ensure tests run quickly and any flaky tests are disabled until they can be made reliable.
Share this principle