Wednesday, August 5, 2009

AltNetUK Weekend



Just back from the AltNetUK weekend.

The best yet, thanks to @serialseb, @adean, @ICooper, @Ben_Hall and @MichelleFlynn, also sponsors / hosts Tequila, ThoughtWorks, EMC Consulting, redgate, CodeBetter and Cognitive.

Catalyst or Excuse?

With all events like this, the real value is often what happens on the periphery rather than the actual event – i.e. the event itself is at best a catalyst, at worst an excuse. However with these AltNetUK events I see great value in the sessions themselves as well as all the extramural discussions.

AltNet Beers

Friday night was the first ‘formal’ AltNet Beers session I’d managed to attend – good conversations, probably would have preferred the park bench to occur at an earlier stage in the evening.

TDD

Saturday was the Open Space Coding Day – my third. As usual this was challenging and productive. My morning session was excellent - TDD "as if you meant it" hosted by @gojkoadzic – very painful, but it was meant to be... A very restricted set of rules for creating a line of code meant that we had to re-evaluate how we use TDD.

It did a very good job in the time available, but led to greater questions that would be followed up in another session on Sunday. My main concern was that we came into the session with no context and that we were de-facto domain experts (OXO was the problem).

Dynamic Transit

Saturday afternoon was a bit mixed, started with Dynamic languages session but 45 mins in, I found that the installs required on the machine I had taken with me would take more than the session time. So I “2 footed” into the Mass Transit session – which was having similar install times but an interesting discussion was going on.

Saturday night was fun...

The Conference

Sunday was the AltNetUk Conference. A bit tighter on space but much easier to move around than the last one.

Design is not Emergent

I first went to Gojko’s follow up TDD session. Gojko suggested that a much more meaningful exercise would need a couple of days – starting with a specifications workshop and then moving through the development phases. I’d be very interested in pursuing that course.

I’m still ambivalent about TDD. I went to a couple of introductory talks a while ago, and came out thinking “I’m never going to do that”. And now that I both practise and encourage TDD on all new projects, I definitely don’t do it the way the early talks would suggest. I see TDD as a coding process (maybe Test Driven Coding would be a better acronym for what I do).

To me, Design is the guiding principle not something that just emerges out of a process.

Software Engineering is Dead? Long live Software Engineering...

The second morning session that interested me was the Software Engineering Dead? / Craftsmanship session. Spent a long time talking about craft and analogies. Came to the conclusion that Software Development should stand on its own two feet and not try to borrow processes from other fields like manufacturing.

Coming from a Software Engineering / Structured Programming background, I always found it was a pretty good methodology – if you did it properly. I wonder if in a few years time people might look back on a mainstream uptake of Agile technologies as an unmitigated failure - and we’ll all say “yes, but they didn’t do it properly”.

RESTing in an Advanced way

After an entertaining lunch by the Thames, next up was Advanced REST. This ended up being an @adean tutorial (which was a good thing). Clarity of thought about the architecture really came through and myths were dispelled with real world examples.

DDD Events

Last session was Events in DDD / The other half of the DDD book – the Event pattern described was interesting, but I felt that the Observer pattern was simpler. Good discussion about loosely coupled services. We had a few minutes for the DDD other half – suggestion was made to organise a full session on this at a future time, again will try to engage with that.

Caught the train home and collapsed...

Azure Open Space Code Day (Birmingham) next.