The conference was better than usual, with presentations by Jez Humble of Thoughtworks, Michael Nygard who wrote Release It!, Jenna Pederson (can I say cute local developer and not get in trouble? She's more than cute...her brain is cute, as proven by her blog and, I could add, Jez Humble was good looking as well, and had a better accent...perhaps that protects me from developer sexism), David Hussman (he of the many "dudes"), and John Penix of Google. It made me appreciate that no system was so legacy-ridden or large that it couldn't be refactored.
Jez Humble (not a consistent blogger) of Thoughtworks was not only informative, but incredibly funny. He's a walking series of sound bites on legs. One of my favorites was about Agile, "Everyone's taking orders standing up instead of sitting down." Or, "We shouldn't have to come in and sit in a data center for the weekend. Life shouldn't be like that." Word. And, after talking about a dev ops moment in which dev ops said "no thank you", he clarified, "They were operations people...they were not that polite."
Jez talked about lean software development, quoting Eric Ries, a proponent of a Minimum Viable Product. For those of you in agile, this is the concept that you should always have working software. And just enough. I'm a huge proponent of this. It's perhaps the most important aspect of agile to me. If you have a project, then you should have short cycles where you provide something that works. Might not be perfect. Might not be what you want in the long run. But it's a deliverable that if you were to put it in front of customers, it might make money. It gives you a plateau where you can decide whether to continue at all, take a break, fire your developers and hire new ones...some location where you can make a decision and still have something in hand that is concrete.
He talked about flickr.com, where they do 10 releases a day. When Yahoo picked them up, they tried to change them, but were changed instead. As is appropriate.
He talked about Poppendieck's Implementing Lean Software Development and the idea that you can measure your product by the amount of time it takes to change one (1) line of code (pg. 59). Based on the products I managed, 24-48 hours minimum, even if all the Directors and VPs are available. That's too long. The line should change in 1-2 hours, and the build/test/deploy/test should take another 2 hours. Max.
And Jez talked about how continuous delivery is composed of three major parts:
- Automation
- Patterns and Practices (the subject of his own book about continuous delivery)
- Collaboration
Sounds about right to me. If you don't include the perspiration.
No comments:
Post a Comment