GOTO Amsterdam — day 2
Speaking of doing things simple but good: Mike Lee surely knows how to entertain and motivate an audience. If you show up in a funny costume, you've already gained attention. His talk made me think of Christian Heilmann's closing talk at Fronteers 2010 which gave the audience such a positive vibe. Mike pointed out that you should not follow what other people do, but stay ahead of the competition. People are willing to pay for quality and there's already enough crap available on this world.
My enthusiasm went down the drain during the shameless product plug "It's more than just a language". The whole talk was about a code generation tool for .Net which may have been a good starter for simple web based applications, like the current state of the Apache Rave administration interface (if it was using Java instead of .Net). I need a list of all [name of the business object] and then manipulate the values of an individual [name of the object] which has its own, simple structure in a database. Although this tool may help you rapidly add or change screens and one of its features enables end users to send feedback to the developers, I don't see what it has to do with agile. Agile is not a tool, it's the way how you organise your processes and some tools may help you with that.
- if the test is hard to write, refactor the code
- your method should do one thing and it should do it right
- think of the responsibility of your class, what should it do, what shouldn't it
It's very tempting to write one monolithic method that does it all, but can you actually read the code the next day. What about next month? How do you know it does the right thing? Try to test that monolithic method and you'll find out you really need to refactor to actually test it.
Katherine Kirk's talked about how her team solved their challenge to deliver the iPlayer within a short notice on a platform they didn't know the technology of. The team had to use several methods of organising their work method. Kanban to deliver features fast for some stakeholders that wanted to see results quickly, Scrum to deliver other features for stakeholders that wanted fixed delivery dates. Her team was willing to adapt to the situation and take over each others tasks. Instead of a single 15 minute standup per day, they had three 5 minute micro standups. They successfully delivered the iPlayer in time without bugs. Because the team found out themselves what worked best, it made me realise it may not be easy to copy their choices. A team having at least one person who coaches the other members and having motivated, skilled members can manage themselves.
I thought it couldn't get better than the Mayor of Appsterdam. Maybe it didn't get better but Kevin Henney did have the right kind of talk to end a conference: not too complex and full of British humour. It started with one of the most expensive fireworks: the self destruction of the Ariane V. Then he continued with very cool and very useless code examples like code that calculates e formatted in the shape of π or globe shaped code that after compilation shows the world but then turned 90 degrees.
After the finishing talk I had to chance to speak with Ross Gardler who is one of the mentors of Apache Rave (incubating). These conferences are excellent opportunities to meet the people you work with in an open source project but normally don't see. Although the conference has finished now, there's still a hackathon planned for tomorrow.