This post will try to cover some of my experiences from this year's Øredev. I will try to make it short, which is hard because I had such a great time during most of the conference! But I realize that writing pages and pages of my experience will give you nothing. Less is more.
Marc Lesser had the introductionary keynote to the conference. He is a Zen monk and has an MBA: a pretty unusual combination. One of his advices was to start meetings with one minute of silence, a meditation that would help the group to focus on the important stuff. We also did an exercise in pairs, consisting of two questions: "What would you like to do less of?" and "What stops you from achieving that?" Basically, one person should try to elaborate on those two questions in two minutes and the other should practice deep listening. Then, after two minutes, we switched. Lastly, we were advised to, in our lives, to find "the one who is not busy". It was a great keynote.
Ola Bini did a good and high-tempo presentation on his language Ioke. It seems that his opinion in language design, which I agree on, is that a good language is measured by the rate of expressiveness (ability of intentionality?) "divided" by the size of the language, the core concepts. Basically, try to favor the ability to do good abstractions over new keywords.
The presenter that I was most impressed about was Dan North. His take on both of his presentations was quite similar, yet addressing different audiences and thus perspectives. From a high level perspective, we should use Lean principles instead of Taylorism (link to video). My interpretation is that Taylorism favors efficiency, while Lean favors effectiveness. A nice quote was "Effectiveness is often inefficient", like pair programming, cross-functional teams, and parallel spikes. Dan introduced us to both the Dreyfus Model of Skill Acquisition (pdf) and the Satir Change Model, the last one being completely new to me.
Other great ideas that Dan talked about was that we should do no estimation of stories, which implies that we should have roughly the same size of stories (small, that is). And we should try to introduce one week sprints or cadences, to find ways to improve. "We can't do one week sprints, since all of our stories are bigger than one week" - "Oh, we should look at that!", etc etc.
A quick mention, Emil Eifrem and Adam Skogman did a really good presentation on the NoSQL movement and products.
Finally, most of my last day on Øredev was devoted to the DCI architecture, with Trygve Reenskaug and James Coplien. Basically, the value in software is in the concrete problems it solves. The solution to these problems is (according to Coplien) best described in Use Cases, which should be very valuable for us as developers. The problem is that the current OO thinking (class thinking), chops up the Use Cases in many small classes, spreading it out all over the program. DCI is trying to solve that problem, separating the Data (stable) from the Context and the Interactions (unstable). Check out the video from Øredev 2008 by Coplien and read the article for more information on DCI.
As I said in the beginning, I had a great time at Øredev! Yet, this blog post is just describing the tip of the iceberg of my whole experience of Øredev and I feel that I missed to mention so much good stuff. Still, less is more. Hope to see you there next year!