The first observation is that we have great tools, but the principles are more important. As Tom Limoncelli from Stack Overflow mentioned, it is the principles that guide our results. The tools are merely an manifestation of how we get results, and these are the core principles of DevOps that he shared:
- Three Ways of DevOps — Improving processes, fostering communication, and encouraging experimentation
- The Small Batches Principle — Doing things in smaller batches of work instead of doing all work at once
- Minimum Viable Product — Delivering value sooner in the process rather than waiting to deliver value later
Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.
Because our organizations are complex, our systems are equally complex in order to compensate, creating an environment where tools proliferate. Simply pausing to ask “why” can guide us back to problem need to address and the opportunities and challenges we are tasked with solving.
This is particularly evident in how we build contingency plans. While DevOps practices help, Tanya Reilly discussed how failure still comes as a surprise, illustrated by her keynote about the history of NYC fire codes. The lesson here is pretty clear, fix the organization before putting in added processes.
The third observation is that if we have the team and the organizational structure in place, DevOps is the enabler for Agile. Randy Shoup explained that means smaller, cross-functional teams, using test driven development practices, and creating end-to-end ownership of development and delivery.
The best practices fall down however if we do not have the right talent. Peter Varhol dug into some of the major cognitive biases that color our view on talent and performance based on the research of Daniel Kahneman in the book Thinking, Fast and Slow. Fix the biases and we can find the talent that enhances creativity, unlocks innovation, and enable DevOps to thrive.
I want to close with a quote by Jon Kern. If we want better results, we need to examine how we build things and DevOps is a way of helping us to get there, a place where we can be confident in the code we are writing and the systems we are deploying.
Where in the DevOps journey is your team right now? Have any of the principles mentioned above cause challenges in your adoption of DevOps?
What’s the difference between Continuous Integration vs. Continuous Delivery vs. Continuous Deployment?
Since we are getting all into DevOps and all…
We help IT leaders in enterprises solve the cultural challenges involved in digital transformation and move towards a community based culture that delivers innovation and customer value faster. Learn more about our work here.