A few weeks ago I attended the Agile.NET 2011 Europe conference, in Gent. In this post I just want collect some links to the slides of the event, and give some personal comments on the sessions and topics.
Agile from A to Z
It all started very early on Monday (probably it’s standard here in Belgium, but it’s my first conference that starts with the first session at 9:00am) with a nice keynote from Jon Jagger, titled “Agile from A to Z”. It was a nice collections of quotes and facts about Agile. My favorite were one about tests
You need brakes to go faster, Cars have brakes so you can drive faster. Tests are the brakes of development
And one about bureaucracy:
Bureaucrat One who has the power to say “no”, but none to say “yes”.
Bureaucracy Can be measured by how much people don’t know why their doing what their doing.
Creating a kanban process flow in TFS2010
I then attended a workshop about how to configure TFS2010 to support a kind of Kanban process, with a very flexible yet powerful ASP.NET based kanban board. Apart for the quirks with copying and using a 30Gb VM, it was an interesting talk, showing a very easy approach to a Kanban board. I think it was the same demo Adam Gilmore showed at TechDays BE in April. Here you can get the demo code and a video of the session at TechDays.
Lean Production - Coin Flipping Game
After a quick lunch, there was a session labeled as “serious game”. With a very simple collaborative game, it showed the difference between waterfall and lean/agile workflow:
- Optimizing the performance of an individual is useless if the whole process is not organized correctly. And that aiming at a process where everybody is performing at his maximum is counterproductive
- The most efficient organization is where people are handling the batch of the right size.
Very difficult to explain in words, but if Jurgen agrees I will propose the game at the next ugialtnet conf in January, or if you are in Belgium you can go to his GameStorming retreat in December.
Baby Steps with Node.js and Timesaving tools for .net developers
To complete the day other two workshops: the first about Node.js and the second about libraries that can help developing web applications with .NET.
I have mixed feelings about Node.js: speaker said it is not a general purpose library, but serves a very specific goal. But I see that most modules for Node.js are for adding “standard” functionalities like being able to serve web pages, MVC libraries and so on… at the end transforming it into an asynchronous general purpose web framework.
The timesaving tools session was basically a high level overview of the various libraries to use together with ASP.NET MVC: NHibernate, Automapper, Windsor. It also reminded me how complex Windsor is compared to other IoC containers, like Ninject. Probably it is more powerful, but at which cost? It also helped me decide that probably the best solution to handle the NH Session is to have it injected via DI by your IoC container.
Why Lean UX matters
Second day started with a very interesting talk by Leslie Cottenje about how they do UX design at PurePlexity. You can have a look at the slides on her UX blog: A plead for Lean UX – Agile.net conference.
A fun movie she showed as example of a powerful UI but impossible to learn, is the short movie from Pixar: Lifted. I recommend you to watch it: really funny, and reminds me of some backoffice I saw in my career.
But I still see a lot of misunderstanding about the differences between UX and graphic design, and this is pretty scary, especially since the audience was formed by developers. I heard about the usual complains: “oh, I know how to design an interface, they just do nice buttons”. The sad truth is that 95% of developers don’t know how to design an interface, and the ones that do nice buttons are the graphic designers, not the UX guys/gals.
Architecting for agility
This was probably among the highlights of the conference: where the timesaving tools talked about the libraries, Sander Hoogendoorn started with the sentence:
Libraries are not your architecture: first design your architecture and then find the tools that fit into your vision, not the other way around.
The main points of the workshop are nicely summed up in this list of points taken from the flipchart.
Kanban 1's game
Another “serious game”, this time emulating the flow of tasks in a Kanban board. Different game, but same outcome: tasks have to be of the right size. Too big and it will stay forever in the pipeline, to small and you’ll have efficiency problem.
Database Change Management with RoundhousE
This is the session that probably game me the most, in term of practical tools I can bring home, experiment and possibly apply to my ALM process.
It was a session explaining how to use RoundhousE, a DB change management solution that relies on SQL code instead of another language (like FluentMigration that uses C# and is not very welcome by DBAs).
The workshop was really well thought and well organized. You can see the slide online, and also get the code of the workshops.
The following image, taken from the slides, show the transition from the “ancient times” where developers where all using the same development db, and “magic” happened to bring schema changes across the different environments, to an intermediate stage where developer sandboxes and CI brought a bit of isolation, but magic still happened at a later stage, to the time of DB migrations where magic is not needed any more. I guess most teams are still in the “ancient times”.
All in all it was a pretty good conference, and also helped by the limited number of attendees it was possible to have very small and focused sessions and discussions with the speakers.
I hope they will do it again next year.