“Those who flow as life flows know they need no other force”
Lao Tzu
Well, in order to survive in a changing environment, we need to react to the changes as fast as possible and adapt accordingly. To minimize the time, biological systems have to maximize the information exchange rate with the environment. The same applies to technological systems and methodologies, including DevOps. We can achieve this in several ways: by making our work visible, dealing with small batches of work, limiting WIP (work in progress), reducing the number of handoffs, eliminating / minimizing waste in the technology value stream [2]. All these principles and all the lessons that you will learn in the cyber-cell in general are based on the laws that biological systems (especially our nervous system) operate according to.
A value stream is a set of actions we need to perform to convert a business hypothesis into features that bring value to the customer.
Make the work visible
Visualizing our work is important, because according to a mental model theory, reasoning itself is a visuo-spatial process. We use logical terms of our language like “if”, “or”, “and” and space manipulations to create and find different scenarios/models to solve problems [5]. It is easier to hold an image than describe it with words. The visual process is highly efficient, because visual system evolved over millions of years [6].
Reduce batch sizes of work and limit WIP
This is needed because our brain itself has limitations. Prefrontal cortex of the brain is responsible for reasoning. It serves as a small «theatre stage» where we can generate and hold our thoughts («actors»). The number of «actors» we can hold there simultaneously is limited and equals 7, or 4 (according to more recent studies). This prefrontal cortex tires very quickly and requires to rest [6, 7, 8].
What’s more, there are three minds in our brain. Reflex mind works based on reflexes and doesn’t need to rest. It is fast, unconscious, and autonomic. Reflecting mind works based on logic. It is slow, conscious, and rational. It enables us to invent things and find creative solutions to different problems. It needs to rest, as it requires a lot of energy to function. It can deal with one thought/task at a time, and is not designed for multitasking. Archiving mind serves as a «librarian» that receives information via sense organs and the aforementioned mind and stores the most important bites of it in the long-term memory. It helps to build a framework of knowledge that shapes the way we reason [9].
These three minds correspond to two modes that our brain operates according to: active mode/central executive network and passive/default mode. The last one needs rest and enables us to build our value system, understand who we are, and set long-term goals, which is of great importance for a development project [10, 11].
So, both reflecting and archiving minds have limitations and require rest. That’s why DevOps teams need to deal with small bathes of work and limit WIP [2].
As for the cyber-cell, it deals with small batches of work. For example, there are about 8 main proteins involved in the classical MAPK signaling. So, the pathway distributes responsibilities between them. For example, some proteins stay in plasma, while ERK2 can go into nucleus and transmit the information flow there. Having multiple sites for regulation helps to increase its flexibility and accuracy [4].
RNA polymerase works similarly. It produces and immediately proofreads small pieces of RNA and doesn’t transcribe the whole DNA at once.
Each enzyme of the aforementioned pathway catalyzes only specific types of reactions (there are hydrolases, oxidoreductases, lyases, ligases, transferases and some others types of enzymes in general). For example, ERK2 is a kinase that belongs to transferases, specifically phosphotransferases [12].
Plus, enzymes have specific binding and regulatory sites, deal only with certain substrates and get regulated by specific regulatory molecules, thus limiting the WIP:
So, as you can see, in order to succeed, nature functions according to the same principles on different levels, including molecular one.”
Reduce the number of handoffs
The members of the classical MAPK pathway have certain level of autonomy. They have specific binding sites that allow them to recognize and bind to their substrates and don’t rely on any centralized authority in the cell to make their decisions [15]. For example, they don’t need to visit and «consult» p53 protein (one of the main molecules that regulate cell cycle / cell death). Classical MAPK pathway itself doesn’t need to «consult» with other MAPK pathways to function.
The aforementioned enzymes also have specific regulatory sites, which brings even more autonomy and flexibility to their work. This way they don’t overload any molecule or mechanism in the cell with excess communication.
DevOps teams might apply these principles and make their members self-sufficient enough to be able to deal with builds, testing and deployments by themselves. This way it gets possible to react to changes faster and mitigate the loss of information, which helps to increase the information flow speed [2].
Eliminate waste in the technology value stream
Our bodies are made of cells. They get nutrients from blood, and eliminate waste via lymph. Lymph stagnation leads to acidosis which manifests itself as different diseases. Just like that, DevOps teams need to remove waste from their projects in due time. Otherwise, they may get «sick», which manifests as a delay for the customer. Anything that leads to this is considered as waste: extra processes (actions that don’t add any value to the project), waiting, defects (incorrect or missing information), unnecessary manual work (due to lack of automation) etc. [2].
As for biological systems, RNA polymerases make about one error per RNA strand created during transcription [14]. They can add and remove nucleotides from RNA strands. And they proofread RNA transcripts to improve accuracy. RNA strands are used to create proteins during translation with the help of ribosomes. Sometimes things go wrong, and proteins get damaged. Cells get rid of these aberrant and unneeded proteins via proteolysis with the help of proteasomes [13]:
Optimize your work for customers (external and internal)
It is important to help our teammates and optimize the output of our work for them (internal customers). It has to meet certain requirements (stability, testability, security, configurability etc.). This helps to speed up information flow [2]. This is what happens in the classical MAPK pathway: each member activates the next one for downstream components.
These lessons should help you to speed up information flow in your DevOps team. Remember, flow stagnation leads to swarm formation. And you don’t want your project to turn into a swarm. You want it to be a fast-moving river.