Improving Culture
The DORA research mentions an important principle for improving culture:
"The way to change culture is not to first change how people think, but instead to start by changing how people behaveβwhat they do." - John Shook
There is a psychological rationale behind this principle. People develop expectations about how others will behave and use these expectations to guide their own actions. When others behave in unexpected ways, these predictions are disproven and people are more open to reconsider their assumptions.
A good strategy for cultural change is therefore to identify opportunities for small behavioral shifts that disconfirm existing expectations. Over time, this can change how people think.
The guiding principles for this are to cultivate trust and people's sense of agency. This requires systemic empathy: We first need to understand where engineers and leaders feel their agency is constrained or undermined. These experiences are highly subjective and require a deeper understanding of people's perspectives without judgment or assumptions.
My approach is to practice systemic empathy by exploring aspects of software engineering that commonly cause friction and look for conflicting perspectives:
πΊοΈ Technical Boundariesβ
Do engineers have a shared understanding of all the technical building blocks so that they can make architecture decisions on behalf of their team?
π₯ Team Topologyβ
Are team boundaries, responsibilities and interaction workflows between teams clearly defined?
𧨠Hidden Quality Risksβ
Do engineers and non-technical stakeholders have a shared understanding of software quality attributes and their need for proactive mitigation?
π Continuous Delivery Feedback Loopβ
Are development teams included in the full feedback loop from planning to running their code in production?
ποΈ Software Planningβ
What are the meaningful promises made to stakeholders and where is the tradeoff between trust and planning bureaucracy?
π§ Human Learningβ
Is it a collective responsibility to teach and acquire knowledge within and across teams?