I spent Friday evening and Saturday at the ALT.NET conference in Holborn, a free conference for .NET developers which follows the "Open Space" format. This involves no planned, formal Powerpoint presentations, but more 'open' conversations around whatever it is people decide they want to discuss on the day. The whole philosophy seems to be one of 'Whatever happens is meant to happen, dependent entirely on those who attend and participate.'
I'm rather nervous about ALT.NET, as was probably obvious when I proposed a discussion on "ALT.NET = L33T.FAD" (Elite.Fad). This suspicion I have stems from random looks at daily digests from the American-based ALT.NET discussion group and, more recently, from reading extremely heated tweets about an 'invitation only' conference in the States. What comes across is that many of the key figures promoting the whole ALT.NET philosophy seem to think that 'spreading the best practices message' means resorting to endless personal attacks and company name-calling which can be a real turn-off. Egotism and arrogance appears to run rife and repetitive bickering is NOT active discussion (or 'encouraging synchronicity', as I was told in a tweet this morning!) It all comes across to the casual observer interested in finding out what all this ALT.NET stuff is about as like 'Slashdot for the .NET crowd' which is never going to be a good thing. Excellent work like Karl Seguin's Foundations of Programming e-book, written to explain the basics of the ALT.NET approach and encourage best practice amongst the .NET development community, is (in my view) seriously undermined by the amount of bile and vitriol being thrown around, much of it deeply personal (I guess the folks working for Microsoft Patterns and Practices or Thoughtworks must have very thick skins to cope with some of what's been thrown at them).
Fortunately none of this acidity or endless belittling of the 'average' or '9 to 5' developer really surfaced at the conference, and while I wouldn't want the "Open Space" format for every user group event or conference I go to, it's a really neat addition to the formats that are out there. It encourages good conversation, and greater participation, in a more inclusive way than the 'let's go down the pub' approach, and it avoids the problems inherent in the traditional 'one person dictating to a passive audience' PowerPoint presentation approach.
I had a lot of stimulating conversation throughout the day, and the conference served as great 'group therapy' for those of us struggling with the day-to-day realities of the software business we're in.
That being said, it quickly became clear that there is no 'silver bullet' to the problems software development has faced for years (years? I mean decades!). Who knew?! ;-) One attendee I was talking with commented, "I've heard about a lot of common problems. But I haven't really heard any solutions". My experience was the same, although others had a different experience. In the closing session, where each participant was asked to announce what positives they'd take away from the day (with any negatives to be held back until we went 'down the pub' - an approach that felt like insecurity and a refusal to acknowledge any failures to me, but then I do tend to be a 'glass half empty' or 'gloomy optimist' person ;-)!) many people said they had heard about solutions they were keen to try, so maybe I just attended the wrong sessions in trying to find solutions to many of the problems of modern software development.
But I DID get some great tips for books and video's I'd not seen posted on any blogs, and some pointers to software that I should try and find time to look at, which I think I only got because of the format of the conference and the mature experience of the average attendee.
I did feel that 'a BIT more organisation' would have helped, whether in trying to get the schedule available in all the rooms spread across a rather large area, having a conference site that allowed links to attendee's web sites rather than just people's names, or in having an organiser or at least the session proposer in each of the rooms those sessions were supposed to take place in, but that may just be an age thing about liking structure and efficiency. I'm sure it's open to debate, and pretty small beer when looking at the benefits of the whole day. I also think that glib generic statements like "IoC is really easy and enables lots of lines of code to be replaced by just a few" smack far too much of the 'I've got a hammer and everything looks like a nail' approach to software development and was disappointed such statements weren't challenged by what I perceived to be 'the silent majority' in attendance! More worryingly, ad-hoc hallway conversation comments like 'The company promoting SCRUM the most, and selling it the most, aren't actually using it on most of their projects' did little to discourage me from the belief that there's a lot of 'flavour of the month' and 'hype from the vocal minority overly impacting the direction the industry is blindly following, despite rising evidence that it's not working in solving the real problems the industry has' about so much of what ALT.NET seems to be about promoting.
I made a few big boo-boo's myself of course. I didn't really answer the 'What is ALT.NET?' question when on the Park Bench (and felt it was better to get up and give someone else a chance to speak than try and correct my deficiencies - I've been called 'MotorMouth' once too often in my long and industrious career ;-)) And yes, I should have challenged that IoC statement I mentioned earlier at the time it was made (my excuse is that it was a larger session and it's hard to interrupt someone mid-flow, particularly when the main topic has quickly moved on to something else).
I also made a serious error in not getting to the conference in time for the first opening introductions. One problem we all seem to have is knowing people by face, but not by name, and I should have been at the event early enough to video everyone introducing themselves. I should also have picked up my camera to film each attendee's closing positive feedback about the event - it would have made a fantastic ad for the next conference! Fatigue had set in by this point, which is no excuse for being lazy.
One other criticism I heard was that two or three individuals tended to monopolise a lot of the bigger discussions. I don't think it's a criticism that's easy to solve. And when the two or three individuals doing it are that much brighter than you (I mean me!) and have some really solid experience is control of the conversation such a bad thing? It's certainly more stimulating than having one person dictating a PowerPoint slide at you. By their own admission, most attendee's had adopted a 'passive' approach in the sessions they attended, and it's hard to fix that passivity if people don't want to fix it themselves.
So a great day, but my original prejudices remain intact. Last year's flavour of the month in JavaScript frameworks seemed to be 'Prototype/Scriptaculous'. This year it's JQuery. What will it be next year? And how do I tell my clients that 'best practices' last year meant writing a lot of code that is now based on a product that is probably going to die soon, or at best have relatively little support in the marketplace. The same examples of this 'show me the new toy' mentality is there whether we're talking ORM tools, IoC frameworks, or build and testing tools. In the old days the barrier to moving forward used to be 'Nobody ever got fired for buying IBM'. These days it's more like 'Well at least I've got Microsoft Premiere Support so what I'm writing isn't going to be throwaway and obsolete in a year's time' (although the way Microsoft's going I guess even that's questionable). It's hard to get past that, and I don't think a lot of the publicly visible face of ALT.NET helps promote the philosophy in the risk-averse Enterprise space (although others suggested that corporations were actually the most enthusiastic users of the agile approach).
None of which alters the fact that I'm really glad I went, and would highly recommend the event to anyone. I may have left the event with prejudices intact, but I picked up some really useful tips and tricks, pointers to good new resources, and met some really interesting people. And, I'm pleased to say, encountered none of the 'elitist/bile-filled' sentiment I feel dominates the public discussion group.
The unanimous sentiment expressed at the end of the day was that people felt 're-invigorated' at the end of a day spent with a group of diverse but intelligent and passionate people. I'm very much looking forward to the next conference.
Footnote I recorded video at the initial "What is ALT.NET?" 'Park Bench' session, and also at a lively session around automated Build and Deployment issues. As I'd initially suspected the "Open Space" format really doesn't lend itself to easy one-man video film-making, or even great, watchable video as an end-result, and in the 'Build and Deployment' session I eventually stopped because the 'passing the microphone around to make sure Ian got good sound' antics were slowing down the conversation rather than helping it. The next 10 days are pretty manic with a presentation for NxtGen in Coventry next Monday to finish, all-day filming at the iDesign08 conference on Wednesday, and then REMIX08 in Brighton on Thursday and Friday, all on top of the day job, but there will be video of some sort posted from the event once I've got the immediate priorities out of the way.