Reciprocity, Companion Planting & DevSecOps
Tags: opservations, devops, sre, map
Published: 2024-03-29 15:24:21

It’s gardening time and the post SREcon feels. I wasn't able to make SREcon America this year, I did have the opportunity to get some garden prep in. While I was refreshing my memory on [companion plants](https://www.portlandnursery.com/veggies/companion-planting) for my garden, it got me thinking about the reciprocity or companionability of DevSecOps. The evolution from SysAdmin to Ops to DevOps and now we have more layers of granularity that companies can incorporate from SREs to Platform Engineers to Operators whose focus is Operational Excellence (OpEx). 

Yeah, I know that last one doesn’t technically exist but it or something like it will very soon. 

I love the analogy of reciprocity or companion planting in [Robin Wall Kimmerer’s](https://www.robinwallkimmerer.com/about) book [Braiding Sweetgrass](https://milkweed.org/book/braiding-sweetgrass). The book is fantastic and the audiobook is even better. There is a chapter where she talks about the Three Sacred Sister’s. For those not familiar this is a traditional Indigenous story of the Three Sisters corn, beans, and squash. How they complement and support each other in their growth. It’s a great story and one worth tracking down. Robin Wall Kimmerer describes the difference between the colonial row planting of one monoculture crop vs the indigenous practices around the Three Sister’s as “a three-dimensional sprawl of abundance” where no one was left wanting for food.  

There's been a lot of talk recently about whether a factory is the “right” analogy for software development. We’ve heard Adam Jacob talking about how an assembly line analogy doesn’t work, instead we should think of [building as a team sport](https://thenewstack.io/adam-jacob-rebuilding-devops-with-system-initiative/). For me, this time of year, I really like “a three-dimensional sprawl of abundance.”  

Robin Wall Kimmerer goes on to explain the importance of corn, beans, and squash being planted next to each other.  From the shade the corn provides as the first to sprout, the nitrogen fixing effects from the beans, and how the corn provides the “pole” for the beans to climb and flourish, and the pest control squash provides for the corn and beans. They are better together but stand strong as individuals. I think this distinction is important.  

Sometimes we focus too much on the neat rows in our garden or the factory lines. We look at it and think how efficient we’ve become.  But as [John Willis wrote](https://itrevolution.com/articles/thoughts-on-generative-ai-related-to-efficiency-and-effectiveness/), there is a difference between efficiency and effectiveness. 

> 
“In his work, Ackoff delves into the intricate hierarchy of human cognition, emphasizing the critical distinction between efficiency and effectiveness in social-technical systems. Ackoff outlines a hierarchy of cognition that includes data, information, knowledge, understanding, and wisdom. He explains that while the first four elements focus on increasing efficiency, wisdom is uniquely associated with effectiveness.”
> 
John goes on to write:

> 
“Drawing on Peter Drucker, Ackoff highlights the difference between doing things right (efficiency) and doing the right thing (effectiveness). He argues that an overemphasis on efficiency, especially when pursuing the wrong objectives, can lead to detrimental outcomes. This concept is a recurring theme in DevOps, DevSecOps, and SRE.”
> 
 

When I think of this, the Next Wave companies come to mind. Companies who are looking at the reciprocity of teams and identifying gaps in the caring and feeding of your technical stack. They are doing so with a focus on Operational Excellence, the risk reduction associated with a reliable system. Reducing toil, preventing misconfigurations, improving your code practices, and bridging the gaps we are all feeling with our existing tool sets. They are the companion tools you need to flourish.

Here’s a quick list of companies to check out:

- [AppMap](https://appmap.io)
- [CloudTruth](https://www.cloudtruth.com)
- [Overmind](https://overmind.tech)
- [RunWhen](https://www.runwhen.com)
- [Shoreline.io](https://www.shoreline.io)
- [Stanza](https://www.stanza.systems)

I think of this group of companies as the people who see the next bottleneck in our workflows and are fixing the glitch before it becomes catastrophic. I know catastrophic sounds dramatic but realistically, companies are focused on how to build more faster with AI. But without reciprocity or ramping up the companion teams, you will have issues with outages, reliability, security breaches, performance challenges and, well… you know the drill. 

So while you are planning your next release, tuning your infrastructure, or assessing the right guardrails, maybe map out how your entire tech stack will grow and scale. See if you need to augment your crop of code or infrastructure to ensure your feature functionality is met with the good kind of abundance.