I got back yesterday from the 2007 ACCU Conference. Once again this was a great conference. Lots of good stuff on Agile and Lean (Mary and Tom Poppendieck delivered a keynote), software management, programming in general, Java, C# and C++.
I mainly kept myself to the management and agile sessions. Also I was involved with a lot of ACCU business type stuff occurring around the conference. It is about the time when all the key players in the ACCU are in the same place and a lot of association business gets done. As well as delivering my own session and taking the stage with Mark Shuttleworth and Mark Poppendieck I was in meetings about the ACCU journals, growing membership, conference organising and a host of discussions about the association.
Over the next few blog entries I’ll try and debrief myself and highlight the things I feel I learnt and need to remember. My comments from this time last year still stand, the best speakers are no necessarily the ones you expect them to be. (Apologies for that blog entry, its one of the ones with formatting problems.)
Right now here are a few bullet points.
I met three people who are separately working on projects that compile the same code base to Java and C#. These people have the code in one language and have some pre-processor step which makes the syntactic modifications so it can compile for the other. Is this a trend? Will we one day have Java# ?
Ed Sykes and Jan-Klass Kollhof did a really good session. They set out to produce a distributed algorithm using Python and JavaScript in web browsers. They just about succeeded but actually their session was far more interesting for what it said about systems with emergent behaviours. They also took a stab at futurology and suggested Web 4.0 Distributed Computing. You heard it here first!
The great Test Driven Development debate rumbled on. Well, when I say debate it is a bit one sided. There are a few people who think TDD is not a good practice then there are the vast majority of people who have tried it think it is a good practise that improve quality.
Mary Poppendieck presented some figures from Mike Cohn’s book Agile Estimating and Planning. Before introducing TDD Cohn’s company had 10 faults per 1000 lines of code, after 3 months of TDD this had fallen to 3 per 1000 lines.
For me this debate is a little like the Black Adder scene were the Captain (Tom Baker) says to Black Adder (Rowan Atkinson):
“Crew? Opinion is divided on the matter, all the other captains say you need a crew and I say you don’t”.
Gail Ollis did a good session on Advocating Agility, one of her first slides quoted the start of A.A.Milne’s Winnie the Pooh:
“HERE is Edward Bear, coming downstairs now, bump, bump,
bump, on the back of his head, behind Christopher Robin. It is,
as far as he knows, the only way of coming downstairs, but
sometimes he feels that there really is another way, if only he
could stop bumping for a moment and think of it.”
Gail had spotted the great sentiment expressed here: we do painful things because we simply don’t know how else we might do them and don’t take the time to find out. I left intending to use this quote myself.
In looking for this quote on the web just now I seen that neither Gail or myself is the first to spot this, its all over the place and often associated with change.
OK, thats a first stab at debriefing the conference, over the next few entries I’ll write more.
Thank you!
Hi, Allan!
I don’t think Java# is ever concievable. Microsoft can always make things slightly incompatible that they would definitely call “constantly-imroving-standards-process”…
On another point, TDD seems to be very robust development rule but on the downside, updating unit tests as you want to make some significant changes to your software under test takes a lot of additional time, which could probably be used more effectively while fixing 10 bug instead of just 3. On the other hand, one can always argue that good design should potentially eliminate this problem. Probably. Perhaps, I am not unique in this objection and it has been answered many times…
Yuryr
Hi, Allan!
I don’t think Java# is ever concievable. Microsoft can always make things slightly incompatible that they would definitely call “constantly-imroving-standards-process”…
On another point, TDD seems to be very robust development rule but on the downside, updating unit tests as you want to make some significant changes to your software under test takes a lot of additional time, which could probably be used more effectively while fixing 10 bug instead of just 3. On the other hand, one can always argue that good design should potentially eliminate this problem. Probably. Perhaps, I am not unique in this objection and it has been answered many times…
Yuryr