Incremental change is the idea of changing just one small thing at a time.
The ultimate purpose is to reduce the overall risk of any given deployment going wrong. Given that full verification is impossible (see the verification problem), the less lines of code change at once, the better.
- If a release is the scope of tends of lines of code or a few configuration changes, correcting issues becomes much easier
- Tracking Change
- CAP Theorem for Software Engineering
- Feedback Loops
- Low Risk Releases
- Forwards and Backwards Compatible
- Embraces actively seeking to increase Resiliance
- Build Quality In
Important: requires two conditions to achieve.
- having small lead time between check-in and release
- project has highly optimized deployment process. Very little oversight and ceremony required to deploy
Working in small batches has many benefits.
- shortens feedback time on our work
- makes it easier to triage and remediate problems
- increases efficiency and motivation
- prevents sunk cost fallacy.
https://medium.com/@kentbeck_7670/test-commit-revert-870bbd756864