JavaPolis 2006 - Day 1: Agile Methodology
So, here we are again. Time flies. JavaPolis 2005 doesn't seem that long ago, but a year has passed since and I'm back for another edition of JavaPolis in the city of Antwerp, Belgium.
Antwerp isn't actually that far from where I live, a mere 200 km at most, but because I rather avoid the morning traffic jams on the city ring I arrived there on Sunday night. My hotel is somewhere near the docks, and only a ten minutes ride from the JavaPolis venue. Perfect!
Today's first impression of the conference tells me that it's once again well organised. The organizers even improved on last year's conference in a few places, e.g. there is a wireless network available for free, but unfortunatelly it doesn't seem to work yet. Or at least I can't seem to get it to work. So right now, I'm typing this blog entry from the hotel bar enjoying a glass or two of Antwerp's local beer 'De Koninck'.
The first two days of JavaPolis consists of so called 'university' sessions. These sessions last for three hours each and cover a certain topic in-depth compared to the other three days that feature one hour technical sessions. University days feature five tracks in parallel that you have to pick from. Today I decided to pick the 'methodology track' just to pick up my share of software development methodology stuff. The morning track was about the Scrum methodology by Giovanni Asproni, Italian as you could tell from his name and the Italian accent. Giovanni did a great job though covering most of the basics of the scrum methodology and talking about all sorts of trade-offs and experiences he's had with applying scrum to projects. There was definitely some useful stuff in his talk that I will apply to my future projects. The beauty of it is that you don't have to apply the whole of scrum in order to achieve some effective results, like stand-up meetings and burndown charts for example. During the past years I have been involved in a couple of projects where we applied some form of Rational Unified Process (RUP) but for some of those projects it was just too much and they might have been better off when a more agile methodology would have been applied instead. Key question for me however is that for the entire agile methodology to work, some very skillful people are required on the team. Or actually, I should rephrase that and say that it requires ALL people on the team to be very experienced and professional. In practice that almost seems impossible as you have to deal with corporate developers that are not used to these kinds of methodology or worse, lack (some) software development skills at all. I was not the only one in the audience pondering on these thoughts as several questions regarding this topic were asked. Unfortunately there wasn't much of a satisfying answer. The only thing that in essence all agile people tell you when asked this question is that you can't do a waterfall project either without skillful people involved. Sure, they're partially right, but in waterfall or in RUP based projects there are plenty of possibilities for less skillful team members to hide behind the backs of other people. In a methodology like scrum, there is no place to hide. Everyone is equal – this is also bothering me, because it just sounds too communist to me 🙂
Anyway, enough about the morning session.
The afternoon session that I picked was a talk by Kevlin Henney on the 'Six Faces of the Agility Cube'. This talk was very lively with very much real world examples of situations that Kevlin ran into with projects that he consulted on. Although most of the topics he talked about were not really new to me, his examples were really familiar and I recognized much of it from my own experience with projects that I worked on. Kevlin really did a great job and gave me lots of stuff to think about for future projects. He pointed to some interesting books and other resources as well. Apart from that, the talk also featured some funny, but painful sound bites from the agile world, like:
- Waterfall – a way of going wrong with confidence
- Walking on water is like building software according to specs, works fine as long as both are frozen 😉
- All architecture is design, but not all design is architecture
- Skills matter – a fool with a tool is still a fool!
All in all a great first day and I'm eager for tommorow's university sessions.
I'm also looking forward to the JavaPolis movie on Thursday evening. The new James Bond movie 'Casino Royale' will play in the JavaPolis THX certified theatre. Cool, because I had not been able to find the time to see the movie yet.
On a more critical note…it's too bad the JavaPolis organizers gave up on the so called 'JUG Island' where the different JUGs from all over Europe could meet each other. Actually, it's a little bit of a shame, because they gave up on the island in favor to put more booths on the pavilion floor. Booths from commercial sponsors that earn them lots of money. On one hand, quite understandable as organizing an event like this should raise some money ofcourse, but on the other hand…JUGs are a community thing and without the JUGS there will definitely not be such a lively Java scene in Europe. So it's a community versus money thing once again. Most of the time money wins. With well over fourty booths present on the pavilion floor I yet have to see how 2500 people fit in. It will probably be tough to move around, but let's not jump to conclusions yet.
So much for day one. As the hotel bar is now crowded with JavaPolis attendees returning from the evening BOF sessions, I will now join in on some of the discussions concerning today's topics.