The second principles of DevOps - Principles of Feedback - is all about detecting problems before they occur and maintaining high quality standards.
This principle acknowledges that complex systems are (by definition) are too complicated for a single individual to understand. Hence, if things are not fixed immediately when they break, then they become that much harder and costly to fix - the further “away” from the source / origin / author, the harder and more costly.
Counter-intuitively, the best practice for addressing (increasingly small) problems is by halting everything and Swarm and Solve the problem. That means: Escalating local problems globally.
To understand what is going on within a complex system (within a software organization) Pervasive Telemetry needs to be deployed, so that correlation between action and consequence become visible fast.
Further, it is requires to design the flows / processes in small Batch Size, so that signals (from telemetry) can be unambiguously assigned.
As a result, quality is constantly improved, with the “big problems” being identified fast / early on, then increasingly “smaller” problems can be detected and mitigated / eliminated.
The work in DevOps Organizations flows from left to right, the feedback then flows from right to left in the form of Feedback Loops. Feedback acts time delayed.
-------- -------- --------
| Work | =====> | Work | =====> | Work | =====> ...
-------- -------- --------
^ ^ | ^ | |
\ \_________/ \_________/ |
\_______________________________/
Feedback Loops
Following steps can be modified via Feedforward Loops.
-------- -------- --------
| Work | =====> | Work | =====> | Work | =====> ...
-------- -------- --------
| | ^ | ^ ^
\ \_________/ \_________/ |
\_______________________________/
Feedforward Loops