I’ve been pushing large enterprises to adopt agile development practices for years so I was very excited when I began seeing many of them embarking upon ambitious Agile Transformation projects where they attempt to not only change the way they build software, but completely revolutionise the entire IT process from inception, finance, HR, delivery and operations.
But they rarely discuss culture.
“Culture” in this context is used to broadly describe how people behave in the company.
- Are they process-driven automatons, or pro-active problem solvers?
- Does the company reward creative thinking and accountability, or does it reprimand employees that try to improve efficiency by changing processes?
- Who is responsible for quality: developers, QA, nobody, or everyone?
- How many forms does it take to release code to production?
Culture can’t be changed by buying a Jira license or installing Jenkins but that’s where many Agile Transformations start. Executive mandate won’t help either - you’ll get compliance but not commitment. The people on the ground have to want to change the way they work otherwise you’ll end up in a War of Attrition because the lifers in the company can outlast the newest CIO.
Many of the companies that we see as leaders in the Continuous Delivery space (Etsy, Spotify, Facebook, Google etc) didn’t set out to “Do DevOps”. They had to do DevOps to achieve their goals. It was a by-product of the organisational constraints.
I believe that cultural change in a company will only happen when it’s there’s no other option. Forget the tools; forget the PowerPoint decks; forget the executive support. Empower the technical staff to make decisions, reward the behaviour you want to nurture, and limit their resources. Yes, slash their funding! . Necessity is the mother of invention, so teams operating on severely limited resources will become highly motivated to find creative, automated solutions to their current manual processes. All those forms and approvals will evaporate in a puff of automation and self-service models.
The tools are still important but they should not be the focus of any Agile Transformation. Agile is a people problem, not a technology problem. I’ve seen enterprises waterfall the shit out of Jira, Jenkins, Git and Puppet, and I’ve seen others achieve impressive automated deployments using nothing but SSH keys and Bash scripts.
It’s the attitude that matters.