I attended YOW! Sydney 2014 and thought some people might get something useful out of my notes. These aren’t my complete reinterpretations of every slide, but just things I jotted down that I thought were interesting enough to remember or look into further.
Jez Humble (@jezhumble), co-author of ‘Continuous Delivery’, spoke on The Lean Enterprise, specifically “the principles that enable rapid, software-driven innovation at scale” and how to transform organisations. (Slides)
He briefly covered the three horizons method of innovation and highlighted that you actually need to plan and be executing on all 3 at any one time. They also need separate management styles and reporting lines so that they don’t try to squash each other in departmental trade-offs or management bunfights. The two management styles are explore (discover new stuff) and exploit (capitalise on existing assets).
He recommended the book ‘How to measure anything‘. Someone’s study found that software development costs had very little impact on the success of projects (which, interestingly, conflicts with a study that Martin & Todd referenced, but anyway…). The two factors that had a big impact on success were
- how quickly the product is taken up in the market; and
- whether the project gets cancelled.
No one invests all their wealth in 3 or 4 huge investments, but businesses often do that with their product investment.
He made this great declaration:
“Most ideas are bad.”
… which I thought was a fantastically simple statement to keep in mind so as to hold our naturally optimistic hubris in check.
The reaction to all the above should be: Businesses need to spend time testing many different ideas to find the valuable ones.
He then switched into talking a lot about successfully delivering software at speed. I don’t remember him explicitly making this link, but obviously if you want your enterprise to do lots of lean experiments, you need an organisation that can deliver software changes fast, not one that is oriented around huge projects.
The 2014 State of DevOps report by Puppet Labs (PDF) showed that keeping app configuration and system configuration in VCS did more to increase IT performance in organisations than anything else.
While everyone is excited about the proliferation of Git and the newfound ease of branching and merging, Jez said we now have data that shows that long-lived feature branches affect IT performance negatively. I was delighted to hear this. At Tyro, we’ve been sticking to our Continuous Integration guns (“everyone commits to mainline at least once a day”) in the face of a lot of “agile best practice” merchants preaching the merits of hiding your code from other people using branches. I’ve written about this before, but it’s great to hear that research backs up what seems like common sense to us.
The study showed having a Change Approval/Advisory Board process does not have a positive effect on stability. However peer reviews of changes, like pair programming, do. Another big tick for Extreme Programming.
The biggest predictor of organisational performance overall was satisfied employees. If your employees are content, they will do great work.
The cultural characteristics that create safe workplaces in environments with high risk (e.g. health, construction, aeronautics) are the same that make an enterprise good at innovating.
If you don’t fix broken builds as soon as they happen, you’re basically accepting the movement of broken product further down your product line.
He suggested that agile stories as we know them are broken. They are worded as if we already know that the story is exactly what the customer needs. Instead, they should be worded as hypotheses, and he offered up this template from a talk by Jeff Gothelf (slides / 34 min. video):
He flogged his new book, ‘The Lean Enterprise’.
Want to learn more?
Image credit: ‘Running the marathon in a suit‘ by ccho (flickr)