People of ACM - Nicole Forsgren
June 12, 2018
What prompted you, along with co-authors Jez Humble and Gene Kim, to write the new book Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations?
It was the perfect storm of a few factors. We really had something interesting and important to share at this key pivot point when software and technology are driving so much change, and when the haves (that is, organizations who are able to leverage technology to drive their mission and product forward) are winning over the have nots (those who still struggle to use technology to their advantage).
Also, the realization that so many people wanted additional detail, to answer questions such as “What factors drive software excellence?” and “How did we discover these findings?” We wanted to put all this information in one book that would be a great read, and that could be given to a leader or team member and could be read on a single cross-country flight.
Finally, a conversation with Martin Fowler, a well-known designer of enterprise software, really kicked me (personally) into gear to start writing the book. Martin and I were attending and speaking at the Agile Singapore conference in October 2016 when we started chatting about my research on the State of DevOps Reports (conducted with Puppet in early years, and conducted with Google in 2018). He reminded me about a phone call we had years earlier about the statistical methods and the rigor behind our results, and he added that he referenced his notes often in conversations and presentations.
He also told me that the team (myself, Jez Humble, and Gene Kim) really needed to write it up into a book. And—this was the kicker—if we didn’t, he would. Well, I got home from the conference and told Jez and Gene about that conversation, and that no one else was writing up our research. The rest is history, and Martin was kind enough to be an early reviewer and write a foreword. I think Martin was just teasing me, but it was just the nudge I needed.
I think the biggest challenge here is the scale: getting it to be company-wide. We’ve probably heard before that culture is the most important part of DevOps, and at the same time heard (or know!) that culture is the most difficult thing to change. So how do we do it? I’ve seen many successful teams do this by changing how they work.
One example that always comes to mind is the successful reorganization of the New United Motor Manufacturing (NUMMI) plant, that has been written about extensively and is credited with starting the lean manufacturing movement. John Shook, a management expert who was tasked with reorganizing the plant, wrote about transforming the culture there, and he said, “What my experience taught me that was so powerful was that 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.”
We also see this principle at work in DevOps transformations that change mindsets. Small teams adopt new practices and achieve exciting results, then share the results with neighboring teams. In my own work I’ve seen leaders create communities of practice where they can swap stories and tips to help grow and nurture their employees and the company culture. But getting this to scale throughout a large organization—especially if you want it to happen rapidly or on a schedule—is a bit trickier.
However, DevOps transformations in large organizations can be done and are worthwhile. Managers need to: 1) Make it safe to try new things and take risks, 2) Invest in the effort, and 3) Understand (at an organizational and individual level) that it just takes some focus and sustained effort, because a culture full of norms and habits wasn’t created in a day, and shaping a new one with different mindsets takes a bit of time to change, too.
What is an emerging tool that you think will become critical for DevOps professionals in the coming years?
Communication. Technology transformation success really comes down to so much more than technology. We’ve learned that in order to successfully deliver value through technology, it takes technology and process and culture. And with the growing complexity of systems, it increasingly means working with people and being able to articulate your problem and your questions as you find your way toward the solution (and, by the way, you’ll need to articulate that, too).
As we move more of our tech to the cloud and continue to integrate interesting and cutting-edge technologies into our work—or just apply existing tech in new ways, like the use of machine learning and AI to drive automation efficiencies—our ability to communicate within and across teams and disciplines and stakeholders will become even more important.
How does the cloud infrastructure offer new opportunities for those implementing DevOps in their organizations?
The thing that excites me the most about cloud architecture is how it enables teams to move quickly and reliably—or at least the potential to. I say “potential” because not everyone uses the cloud to its full potential, and I’m excited to see more teams and more organizations transition into the cloud (where appropriate) to really take advantage of what is possible. With well-architected cloud systems, teams can independently provision services without requiring human interaction, drastically decreasing the time needed to create resources for development, test, and other work, and speeding up their ability to deliver value. They can access their resources from a broad range of devices without proprietary protocols, making development work faster and easier for teams—again, speeding up time to value. Teams can set availability across multiple zones and regions, providing greater reliability. They can also dynamically increase and decrease cloud resources, again providing greater (and often easier) reliability.
What advice would you give a younger colleague just starting out in the DevOps field?
Always be open and eager to learn. The world is changing, especially in technology, and we will always need to keep up. In addition to technology, seek to learn and understand from those who are different from you. DevOps is, at its heart, a cultural movement, wherein groups with traditionally very different goals come together to learn from one another with empathy. We do better when we hear from those with diverse backgrounds and viewpoints and voices. Remember: we are building tech for the world. The world is made up of many people with varied experiences.
Nicole Forsgren is a DevOps expert and CEO and Chief Scientist at DevOps Research and Assessment (DORA), a firm that conducts research and advises Fortune 50 companies, startups and government agencies. Earlier in her career, she served in various roles including professor, hardware performance analyst and developer/programmer.
Forsgren is a member of the ACM Queue Editorial Board, and has chaired several conferences, including USENIX Lisa (2014) and USENIX WiAC (2012 and 2013). She earned a PhD in Management Information Systems and a Master’s in Accounting.