Feb 04 2008

ALT.NET.UK Conference

Tag: EventsSymon Rottem @ 11:39 pm

This weekend I got the chance to attend the ALT.NET.UK conference in London and it was a blast. There were people present from France (me), Germany, Belgium, Israel, Scotland and all over England and we made a good size group at about 50ish individuals.

For those who haven’t really had a chance to grok what ALT.NET is all about here’s the description from the altnetpedia site:

We are a group of people who are passionate about improving the way we develop software. We recognise there is no single solution, but instead there are multitudes of alternatives that can be applied to different situations. Our community is a place for sharing these alternatives, so that together we can learn, teach, and encourage new ideas.

The Friday consisted of an initial discussion of the rules, introductions and proposals for topics for the next day. Once this arduous chore was complete (in fact, not at all arduous – a pleasure, in fact) we adjourned to the pub to socialize and start talking shop over a couple of beers. The next day the sessions started in earnest.

The first cab off the rank for me was a topic surrounding Inversion of Control and IoC containers. Mike Hadlow kicked this one off and we almost immediately slid more to IoC in general, or more specifically to TDD and it’s relashionship with Dependency Injection (DI). I think there were a couple of people who were disappointed by this turn of events, however as I suspect some people wanted a chance to understand more about the container tools, how they worked and how to use them rather than talk about theory and practice. In the end this didn’t turn out to be a problem as a bunch of us got together and talked about the tools afterward. :)

Roy Osherove and Ken Egozi both took strong and semi-opposing stances here but I’m not sure they really disagreed so much as were talking at the same point from different practical angles. Roy asked the question of whether the use of DI in TDD was often only there because TDD requires it in the absence of mocking to allow units of code to be tested in isolation. Roy does work for TypeMock and was entirely up front with full disclosure, so in some ways it’s not surprising, but from experience I’m inclined to agree.

I was involved in another conversation on the topic with Roy and some others later on over lunch and it does occur to me that there are some benefits to enforcing the use of DI when practicing TDD as it helps enforce separation of concerns, which can aid some developers in maintaining good development practices. There is, however a point of diminishing returns when you get a proliferation of interfaces for things you’re probably never going to want to swap implementations for except during testing. I guess in the end this comes down to a developer having a reasonable idea of when they really need to provide an interface and when it’s appropriate to mock instead. It would certainly be valuable to the community at large if there were a repository of information that helped newer TDD practitioners to make that choice appropriately.

Well, having said more about that than I intended, I’ll save the other sessions I was in for another post but to give you the teaser of their subjects to whet your appetite (or make you feel slightly ill, if we’re on a different wavelength):

  • MVC/Castle
  • Source Control & Build Tools
  • Database Testing
  • NHibernate/LINQ

As a final note, for more information on ALT.NET and the UK event in particular here are a couple of links lifted wholesale from Ben’s blog:

News Riverhttp://newsriver.altnetuk.com/
Google Group http://groups.google.com/group/altnetuk-discuss?hl=en
Conference Wiki http://www.altnetpedia.com/London%20Alt.Net.UK%202nd%20Feb%202008.ashx