I had a job that made me unhappy until one day I quit. No plan, no interviews scheduled, no idea what I desired to work on next, not even sure if I wanted to stay in technology I was so burnt out.
I took the summer off, dropped 5% of my body fat, put on 15 lbs of muscle, my workouts were my only schedule. I'd been practicing yoga for a couple of years as a complement and recovery to my athletic endeavours. But this period seemed the right time to take yoga teacher training.
During those nine months of training our class had lots of discussions. In one a fellow trainee described an article he read on the frequency of practicing yoga and its benefits. The central idea was that doing something more often made you better at it faster and cited a study of Korean War fighter pilots. I stopped listening to my classmate as the bomb went off in my head that he had described to class the OODA loop (Orient, Observe, Decide & Act).
John Boyd's OODA loop is one of the founding ideas behind release early & often philosophy. This ideology grew into Agile Development in software development and Lean Startup in business. Where does does DevOps come into play with yoga?
First, a quick rehash. DevOps is the merging of the business and the development process. As software changes from a packaged product at a store to an online service, software development is evolving. Business development or product managers used to decide what to build. They then told the developers who handed the code to system administrators to deploy to servers. Now customers dictate features. The faster a company finds those customers and responds to their needs the faster it has a sustainable product. What does any of that have to do with yoga? My axiom is that yoga & devops have the same goals.
There is a lot of work by scholars of Eastern and Western backgrounds about what is yoga the union of and its philosophy. I am not going to summarize those arguments. Let me go with the assumption that most Americans experience yoga as exercise. While yoga can be a great workout many people I know who who go appreciate getting out of their head. The mental noise of the day quiets as the sense of the body being the vessel of the mind blurs. It's a feeling of connection. We are so much more than the sum of our parts, whether it is our intellect, our corporal selves or as individuals. When someone knows that from within they can be so much.
It is this same blurring we desire out of DevOps. Developers that understand the servers they're designing and deploying applications onto. Systems administrators that are writing code to respond to customer demands. Sometimes in a yoga class when we feel the most taxed the mind starts talking to the tiny voices that are our heart. These conversations that break down the us versus them dynamic of an IT team are huge. Teams that connect, speak the same language of code, and serve customers can be so much.
I used to be a lifeguard. When you are drowning, breathing is both the goal and hard to do. Starting a yoga practice can feel the same. The teacher may be saying inhale and exhale but you're just trying to keep up. Some poses you'll love because it allows you to catch your breath. In time, you'll notice the poses where you hold your breath. Maybe you figure out not breathing makes those poses more difficult. Maybe you notice how you don't breathe sitting in traffic or during important meetings. Maybe you inhale. How's your day going? Check your breathe.
By the time I heard of the Monitorama conference it had sold out. Monitoring is awesome. I understand some hate monitoring because monitoring means an alert of an emergency and something has to be fixed. Some may love graphs, I love the answers monitoring provides. It tells me if server capacity can be reduced to save money or does this code need to be refactored because it takes too long to run. Are customers using the new features that were rolled out? How's the business doing? Check your monitoring.
Have any of your friends said "I can't do yoga, I'm not flexibile"? Mine have. For whatever reason people sometimes define themselves by what they don't do. The beauty of language is the nuance and subtlety between words. In common practice we may think of agility as the same as being flexible. Your friend may not be flexible in this moment but that is not a permanent state. Regular yoga can improve flexibility. The greater benefit of practice may be increased agility, the ability to move without thought. Getting out of the head, feeling a connected self that does not labor on reasons not to act that's being agile.
Technical people are fun. We like debating nuance and subtlety at times. There is Agile with a capital letter a implying one of the formal agile processes. There is agile with a lower case that is squishier, less structured. It incorporates what is needed without the rigidity that does not fit the situation. DevOps takes neither side with it's ship it philosophy. Is a production system broken? Fix it so it doesn't happen again and get better. Ship, learn, iterate that's agile.
Our American culture focuses on perfection. People often feel their yoga poses have to be perfect. They love the poses that are easy to them, hate the ones they struggle with. Yet American's embrace of failure has led it to be an economic powerhouse. The US's bankruptcy laws encourage trying new business ventures. When they don't work out, all parties move on. You see this in venture capitalists that ask what founders learned from their ventures that fold. Tell someone what you've learned from poses you disliked than show off a pose that's perfect.
The great thing about DevOps is its ship it philosophy. Combined with monitoring the team learns far more, faster, and they become more agile. It is a practice that reinforces itself. Rather than hold back a new feature for an application for the usual delays, ship the smallest piece. See what the team learns. Often you'll find people want the features they need than the feature that's perfect.
When we feel connected, and we know how we feel because we know how we're breathing, we can be decisive. Rather than hung up on feeling what we must do or can not do, we do. The OODA loop of observe, orient, decide, act is what my classmate was touching on that day. The faster and more times we go through this loop the more negative thoughts or feelings we get out of ourselves. Once those are out, space opens for what can be.
I had a teacher that before showing how to get into any new pose she would show how to fall out of it. We would see there wasn't far to fall. Sure we still struggled in it the first time but I didn't fall. The second time through I knew what to do and fell pretty quick. The third time I knew where failure happened and corrected for it. Then keeping my breath, not overthinking nor worrying to make it perfect, held the pose. OODA loop in action.
Where is your organization in incorporating DevOps? Do siloed development and operations teams now collaborate at the start of new projects? Maybe they swap code as projects evolve. The technical team and business team are sharing data to improve product or processes. New insights get released to customers to test. Many will say DevOps is the lastest IT fad. Others many counter it doesn't work in the enterprise.
The first time through a process is uncomfortable. The set up of the tooling can feel burdensome. If you don't go through a process first you cannot incorporate the lessons into the second time. You'll see the process didn't take as long. Perhaps the third time through there is a change and it's handled fast. OODA loop in action.
Yoga and DevOps are used in different environments but their outcomes and goals are similar. The lessons of one can be carried into the other. If you're a developer sitting at a desk go take a yoga class. Did being in class feel like your software development or deploy process ? If you're a yoga practitioner and now you're curious about writing code, leave a comment and I'll show how to get started.