August 12, 2006

...Learn TDD with Codemanship

miniSPA Report & Pictures

Yesterday I went to the official British Computer Society miniSPA conference, which was held at the official British Computer Society offices in London's official Covent Garden. Officially, miniSPA (which stands for "mini Software Practice Advancement", and is not - as I mistakenly surmised - a conference for people who build very small pieces of software) is an opportunity for people who are curious about the SPA conference to get a flavour of the sessions run at the last event in Cambridge earlier in the year. It's a sort of free sample, if you like.

An official British Computer Society coffee break

Unofficially, miniSPA is an opportunity for people who were at SPA 2006 to catch up with each other and talk shop. Just like SPA, the main event actually takes place after the day's sessions in that most official of all venues - the bar. This is where the most interesting and energetic debates come to life, and one can't help wondering why someone doesn't organise an entire conference in a bar. We get our days free and then we have to meet up at 7pm for cocktails, and let the fun begin!

An official British Computer Society silence

Anyway, this time around I decided to force myself to go to sessions that I wouldn't normally go to. The first session after SPA chair David Harvey's opening presentation was a "goldfish bowl" session on distributed workforces organised and run by Bernard Horan from Sun Microsystems. I'm given to understand that Bernard works remotely himself, with his team being based in the US, so he probably knows a thing or three about the subject matter. I found the discussion very interesting and useful, except - of course - for the bits where I was talking, which were as dull as dishwater. (I know, I just can't help myself). These semi-structured 5-way debates tend to degenerate into something rather unstructured and boring if they're allowed to, so hats off to Bernard and a few others for helping to steer the session out of those shark-infested waters. Bernard recorded the whole thing on his trusty mactop - though whether it's submissable in a court of law, I couldn't say.

The cast of Footballers' Wives meets for a read-through

After the session, we had lunch. And jolly presentable it was, too - especially the sweets.

Some official British Computer Society cakes - they made me eat them... It's the law!

After the best part of 2 litres of spring water (I do wish some of these conferences would do decaf coffee, I'm getting sick of spring water) I made my way to the second session, which was a workshop on pitfalls in requirements and architecture, organised by the very capable Rob Machin and Chris Cooper-Bland - who appears to have no web site (time to dig out that copy of Dreamweaver, Chris!) The main thrust of the workshop was about identifying and defining anti-patterns ("bad stuff") in requirements and architecture. On our table, we came up with two - count them, TWO! - anti-patterns, when most tables only managed to come up with one anti-pattern. By my calculations, that made us the winners. Apparantly we go on to meet a table from XP2006 in the semi-final.

Some official British Computer Society miniSPA badges, as worn by the guys on my table in the anti-patterns workshop

Talking of spring water, the toilets in the BCS are a bit of a pain. If you ply people with free tea, coffee and litres of fancy French water, you must plan your lavatorial capacity accordingly. Rather than wait in the queue, I ran outside and used the facilities of a nearby public house.

An official British Computer Society conversation between Neal Rayner from Freshfields and Andrew Rendell of Valtech

Like I said, I was forcing myself to go to sessions that - probably for entirely irrational reasons - didn't appeal. And, so far, my cunning plan was working: I had quite enjoyed the first two sessions, and now had my hopes up for the final session which was all about C# 2.0 & C# 3.0. Mike Taulty from Microsoft was kind enough to take time out from total global domination to come and show us the new language features of C# in the current version - 2.0 - and make some predictions about what might be coming in version 3.0.

Mike seems like a very nice chap, and he was certainly very knowledgeable and had no trouble getting around the programming examples he was using to illustrate each feature. But I'm sorry to say that the new language features themselves just made me jolly angry. It seems Microsoft are doing what they always do, which is adding new features because - well, hey, it's a new version, so you've got to have new features, right? I commend their continuing search for value-add, but I believe language design encourages certain styles of software design, and has a profound effect on software quality. Over-egg the language, and - hey, guess what?

The new features we were shown, like static classes and partial classes seem to be sending out the wrong messages to programmers - like, "hey, global variables are okay" and "hey, why not write really big classes spread across multiple source files?" Importantly, they don't seem to have been designed to solve any problem I've ever come across that has any consequences that would bother me in the slightest. So people might get confused and try to extend the Math class. What's the consequence of that?

An official British Computer Society pigeon

I heckled Mike on the first two language features he showed us, but then decided to keep schtum as they grew ever more worrying. The final set of features he showed us are designed specifically for working with data, and it looks for all the world like they've created SQL.NET. Oh, boy - where do I start? You don't have to use these new language features, of course. Let me say that again a little louder: you don't have to use these new language features.

Mike Taulty soldiers bravely on through my heckling (it was the spring water talking, I tell you!)

Anyway, despite my personal reservations about Microsoft's language strategy - none of which are Mike's fault - it was at least interesting to get a flavour of where .NET is headed (even it is is headed into Design Quality Hell - but that's just my opinion). If only they'd asked me... Oh well.

6 hours without a fix has everyone rushing to call their dealer

After a final few words from David Harvey we wended our way to The Coal Hole on the Strand and the real conference began. I cannot, of course, remember a word anybody said, but I do recall that it seemed very interesting at the time. And don't forget, SPA 2007 is barely 8 months away - and I haven't a thing to wear!

The actual conference get's underway. James Dobson debates with Ivan Moore while Willem van den Ende figures out how the bloody hell his camera works. Steve Freeman and Duncan McGregor can only look on in awe...

As ever, the event was organised with military precision and the kind of discipline I usually have to pay extra for by the BCS and Andy Moorley from Truedata. Hats off to them for a successful day. I look forward to seeing them all again at SPA 2007 - if they'll have me, of course.
Posted 24 minutes, 43 seconds ago on August 12, 2006