Someday, I would like to be a world traveler – to visit other countries, experience other cultures, sample other foods and see other sights. And while the thought of that journey is very exciting, it is also a little intimidating. In many places, I won’t speak the language, fully understand the customs or know what to do and when.
There are similarities between travelling the globe and travelling the road between Dev and Ops. The potential outcome of the DevOps journey is exciting, but also a little intimidating. In some cases, we won’t understand the culture, vocabulary, customs or know what to do and when. Both trips will require us to be open to new learning and new experiences.
Before I embark on a world journey, I must build an appreciation for the unique aspects of each national culture and it’s contributions to the global community. The DevOps journey is no different – it begins with the recognition of and mutual respect for the unique skills and practices at each stop on the itinerary. It is vital that Dev and Ops are viewed as peers with each function adding its own special value to the provision of IT services. Neither is subordinate or superior to each other.
To prepare for my world trip, I will need to learn a little about the places I will visit. To prepare for a DevOps journey, we must also learn a little about the function areas that we will work with. Each team should strive to understand just enough about each other so as to “talk the talk”, but not necessarily “walk the walk”. Fluency is not required to navigate the basics.
Understanding is great, but experience is better. I may read about different countries but until I actually walk the streets, the experience will not be complete. The same is true for DevOps. It is important for Dev teams and Ops teams to actually cross each other’s border and witness the daily workings of the develop-deploy-release-operate production line. Engagement can range from passive “shadowing” to active participation. Consider putting an Ops person on a Scrum Team for a sprint, asking a developer to work in tandem with an operator for a shift or create a DevOps team for a specific project so as to insert operating procedures into the development cycle. Whether in travel or in DevOps, immersion is the best way to learn to function in a different environment.
Your packing list wouldn’t be complete without some useful technologies. Automation can be a great travel companion as both an expediter and a universal translator. In DevOps, automated configuration, testing and deployment are critical tools for transporting software to production consistently and faster. Similarly, monitoring tools, metrics, reports and dashboards can serve as universal translators that provides a common basis for discussing what’s happening in the environment and why.
While my world journey will eventually end, the DevOps journey will not. By crossing the borders into each other’s territories, we will be better equipped to engineer realistic DevOps systems that are lean, with common culture and vocabularies, integrated processes, greater efficiencies and greater success.
A DevOps without borders.