Jun 20, 2011

Agile Australia: A Retrospective


Last week I was a panellist at the Agile Australia conference, talking about hiring people for agile teams, and whilst that was fun the conference overall left me feeling cold, frustrated and disappointed. Anyone who saw my tweet stream during the conference would have probably felt some of that and now that I’ve calmed down a little and thought about things some more, I think it’s time to get to the heart of what really annoyed me and offer some suggestions as to what to do next time. Consider this constructive criticism.

Firstly, it felt like conference sponsors were given slots based on the amount of sponsorship they paid. The title sponsor had the largest number of slots and each of the gold sponsors also appeared to have the option to take slots. The problem I have with this is that a staff member from the title sponsor was also part of the advisory panel, as were staff from their major customers. Conflict of interest anyone? What we saw in the conference were “case study” sessions presented by large corporates who just happened to be customers of the sponsor or sessions from colleagues of other advisory board members. It meant that the event became largely a marketing exercise targeting other large corporates wrapped in conference clothing with very little to offer for anyone working in small organisations or who is already practicing agile and looking for ways to improve through learning from others. The worst session was one where the presenter decided to slowly read a carefully prepared, PR laden, speech. No slides, no audience engagement, just fluff. That sort of thing is simply unforgivable, and even now still gets by blood boiling!

Given one of the key principles of being agile is having the courage to be open and visible with the process I can safely say that this was not an approach followed by the conference. What I would like to see? Community voting on topics, with all submitted sessions available and open for the public/attendees to vote on. If sponsors are getting a number of slots then indicate how many by blanking out their sessions on the schedule, that way we can also see just how much non-sponsor content we may get.

Next on my gripe list. Most sessions were targeted at beginners with content rarely reaching the ‘200-level’ let along going beyond that into more advanced and deeper topics. I’m fine with a number of sessions being beginners based, but to have most of the conference aimed at that level? Urgh! At least mark the sessions with some sort of required knowledge levelling system. It’s important to have sessions marked as “best for beginners”, but please, not the whole conference!

Moving on from that, there was also very little opportunity for ad-hoc discussion with other attendees. The “Individuals and Interactions” aspect of agile should apply to conferences too. Now there were a number of panel sessions, but a panel is nowhere near as interactive as an open space, and asking questions in a room of 200 is much harder for most people than in a group of 20-30. The only open space time in the conference was a 45 minute session at the back end of day 2. This, for me, was far and away the best part of the conference as it meant I could finally sit down and discuss problems and issues with other people and bounce some ideas around, but because of time limitations we really only had 15 minutes per topic. This is just enough time to really get started in on a topic but not enough to get far beyond the shallows. Frustrating! I’d like to see an entire day put aside for open space topics. Make day 1 a “fixed content” day and day 2 an open spaces and workshop day so that we can really dig into things and learn from each other.

Finally, let’s talk about the keynotes. 2 of the 4 were keynotes were good, though the content was unfortunately recycled. The other 2 sessions were terrible. One featured 40 minutes of name dropping, self promotion, marketing and trite stories without any real content at all, and the other was a cliché-ridden, pandering, hippy themed “lets all love each other because we’re all geniuses!” farce. Why a 2 day conference needs 3 keynotes and 2 lock notes is beyond me. I want less of that nonsense and more content next time, just not more toddlers level content!

And if you’re wondering if I would recommend you attend next years Agile Australia conference, and things don’t improve dramatically, then here’s my answer: If you work in a large corporate, are new to agile and you’re still trying to figure out how to make it work for you then yes, but take your marketing proof earmuffs with you. If that’s not you, then stay well away. It’s a complete and utter waste of time.

Jun 6, 2011

DDD Sydney, 2011 – Saturday, July 2nd

Are you an Aussie dev? Based in Sydney or somewhere within driving/flying distance?

Well, why don’t you get yourself along to DDD Sydney this year? Not only will you have a chance to hear me wax lyrical about Comet  with IIS and how async coding can help improve performance, but you’ll also get to partake of a slew, nay a plethora!, of topics from other great speakers.

Apart from my talk, I’ll also be a panellist for the Open Source panel, and I’m facilitating the Web Panel later in the day, so at least you now know which sessions to avoid, right? :-)

Jokes aside, last years DDD Sydney was a lot of fun and this year will be even bigger – the agenda and registration are now available.  Go check out the details, book yourself a ticket, and I’ll see you there!

Anaesthetic for your #region-itis

If your code (or the rest of your team) suffers from a bad case of #region-itis then help is at hand.

There’s a lovely little Visual Studio extension over at http://teamsearchapp.com/region-tool that will automatically expand #regions, and also make those #region lines much smaller and harder to read than your normal code.  No more pressing shortcuts to expand all those blocks, less visual clutter and optionally, the ability to prevent collapsing of #regions.  What’s not to like?

Borrowing a few pictures from their site, it takes the #region afflicted code (on the left) and reveals it’s ugly inner truth (on the right):

Regions1 Regions2 

Ahh! That’s much better.