It’s true that the hardest thing about DevOps is built into its name – the collaboration between development and IT operations (and everyone in between!). How can you bring cross-functional teams and disciplines together into a cohesive, higher-performing whole?
I recently was introduced to the concept of ‘ba’ by a colleague during a discussion of SAFe (Scaled Agile Framework) practices. And while the concept of ba is typically applied to agile planning, I found it profoundly speaking to the key challenge of DevOps today.
The concept of ba, originally proposed by Japanese philosopher Kitaro Nishida, describes the importance of establishing an environment that enables knowledge creation and sharing, trust, and cross-pollination – the ba.
Applied to DevOps, it’s a merging of cross-functional expertise, mindshare and best practices across the application lifecycle, enabling teams to be more focused, energised and high-performing.
5 culture traits to find your ba
- Culture that embraces a “systems thinking” mindset
A DevOps organisation must look at the “system” as the business itself. Establishing DevOps practices should not be siloed and centered around specific disciplines, teams or departments.
Systems thinking means that each team should be aware of the actions of every team in the application lifecycle and the outcomes of every action internally and externally. The system works toward common goals and is measured holistically.
A continuous delivery pipeline brings together many different practices, processes and procedures with a common goal – deliver high-quality software with reduced risk and increased velocity.
- Culture that aligns business requirements with technology
A successful DevOps strategy is about delivering value to end customers. Teams must come together at the outset to identify what processes and procedures are impeding progress, clearly identify what to do differently, and how to leverage technology and automation to optimise.
“Value stream mapping” can help you map your requirements from planning through production, identifying all the steps and stakeholders involved in delivering value to your customers. And then you assess where technology can aid the efficiency and effectiveness of value delivery.
Embracing technology when building your continuous delivery pipeline allows your team to provide real-time traceability of business value and create transparency across cross-functional stakeholders – improving collaboration and trust.
- Culture that believes quality is a shared responsibility
Quality being solely owned by a QA team is a clear DevOps anti-pattern. In today’s modern paradigms of application delivery, quality must become job one of the continuous delivery pipeline, and thus a shared responsibility across development, testing, release and operations teams.
Merely focusing on the acceleration of application delivery often misses the mark. You must get to the point of engineering quality into your software through continuous testing.
The objective of continuous testing is to instrument quality into your delivery pipeline by shifting left to fix problems as soon as they are introduced and eliminating issues before they become a level one emergency at production. This helps the pipeline move more efficiently and maintains harmony.
- Culture that encourages experimentation
The ability to experiment– to learn, fail-fast, repeat – is crucial to implementing a successful DevOps methodology.
Experimentation starts with trust, which can be established by getting everyone on the same page with common practices and criteria for moving a candidate release through the pipeline.
Teams must acknowledge, share and celebrate your fail-fast learnings much like we celebrate successes. It is equally important to share your knowledge with other teams within the organisation so they can evolve their processes along the way.
- Culture that continually makes data-driven decisions
Finally, it’s essential to measure and monitor progress at each stage of the application lifecycle, just as you would with any other business initiative. Too often there is no data, or the data is too inconsistent across teams to be able to understand what’s working or what needs work.
All teams must leverage the same data sources and believe in the data. DevOps analytics allow teams to demonstrate tangible evidence of progress, focus on areas that need improvement and take steps in the right direction together.
Find your ba and tune your culture
As you refine your DevOps strategy, reaching a state of ba should be an early priority – a culmination of teams working together with shared goals, processes and knowledge.
High performers embrace proven practices for collaboration, testing and rapid experimentation. They set a precedent of continual improvement based on transparency among teams and rely on data-driven decisions for setting the course toward long-term success for the business and their customers.
Be sure to build your continuous delivery pipeline with visibility, collaboration and measurement in mind to facilitate a high-performing DevOps culture.
Written by Mike Adcock, Digital Transformation Specialist, Continuous Test/Delivery & DevOps at CA Technologies