Code Freeze 2012 was held at the University of Minnesota and the theme was continuous delivery (CD). I want to thank David Hussman and the folks at DevJam and Mike Whalen and his staff and graduate students for putting on a great program. For those of you who did not attend, I wanted to summarize some of my takeaways from the four excellent keynote speeches.
Jez Humble – His was a great and broad talk on continuous delivery. I think I picked up the term “incrementalism” from him. My favorite quote of his is the term “Risk Management Theater” in reference to people who go thru the motions of risk management and compliance activities without understanding or caring about really mitigating the risks. Instead, they want to be able to check off the boxes and say they did their part. This relieves them of blame with a minimal amount of effort. If they really cared about mitigating risks, they would be interested in replacing their outmoded ways of addressing those risks with the more effective and efficient approaches the agile movement has presented.
Michael Nygard – This talk was a narrower and more in-depth discussion of establishing relationships across functional lines, and how to work together to get things done. His specific example was around dev ops, but it is just as relevant for any other group of specialists. I am a big fan of this kind of cross functional collaboration. His talk was a good reminder of how valuable (and rare) people are who possess skills in multiple areas and can bridge the gap. Hispanic votes were a good illustration of how real people build such relationships under stress.
John Phenix – Super Cool how Google (his employer) do continuous delivery like several times a day. I found it very motivating to hear what is possible in the extreme. His anecdotes about the pervasive culture of automated testing at Google (testing on the toilet), combined with the small group exercise the David Hussman triggered, clarified for me why most companies do not do continuous delivery. Most companies are not doing aggressive automated testing. <sigh> Really? After all this time? We KNOW this works. So this is very sobering. Kent Beck described all this years ago and most people still won’t commit to doing this stuff. I would like to do a survey of the state of software engineering practice in the Twin Cities. Who is doing automated Unit tests, AAT, TDD, CI, automated deployment, CD. From what I have seen, the maturity ratings would be dismal.
And finally, last, but not least, Dude himself:
David Hussman – His theme tied it all together for me. He reminded us to stop selling tools and technology to our customers. We should be selling value. Each of our customers measures value in a different way. If our goal is to deliver value, we have to tailor our solutions to the unique goals and problems of our customer. And he also explained how continuous delivery contributes to value. It finally enables those of us who deliver software to do our job professionally and efficiently, which places the burden on our customer. Now the constraint in our system is the ability of our customer to discover what their customer needs. To accomplish this, our customers need to be able to conduct many small experiments, and learn what works and what does not work. Continuous delivery is our tool to enable rapid continuous learning of our business partners.
To answer his question, what am I going to do? I am going to help the people see the possibilities for improvement. If they want help moving forward, I will help them. After seeing this conference, I know what is possible.And I know the prerequisites we must acquire to reach the goal.
If you didn’t attend this conference, you really missed a great one.