Non-negotiable minimum that enables continuous improvement through continuous feedback. Anything below this is not tech debt, it’s collective negligence that leads to dysfunction. Dysfunction doesn’t mean value cannot be delivered. It can be delivered in an unnecessarily painful manner. Developers, customers, product managers, business will feel this pain.
If these are not in place the efforts around architecture, code quality and “process” will keep facing bumps. one step forward and one step back.
One step reproducible, environment independent build and test
software is built the same way on any machine
software is tested the same way on any machine
tests that are run on every commit
breaking tests are fixed immediately
where confidence comes from
automated tests at any level are regression suites
changes are meaningful and not just rearrangement
presentation of information is consistent
at any moment there’s only the source of truth and target of change