Did you know that you can navigate the posts by swiping left and right?

JAOO 2009 Sunday tutorials

05 Oct 2009 . tech . Comments #jaoo #bdd #ddd #groovy #grails

The first day of JAOO traditionally is set aside for tutorials. This was also true this year. When I was here two years ago they had the tutorials at the SAS Radisson, but this year the tutorials were held at Triforks new offices and in Musikkhuset.

I had picked out two tutorials, the first was with Dan North on BDD and the other was an introduction to Groovy and Grails with Graeme Rocher. Now I know both Dan and BDD already, and was looking forward to a more indepth look at BDD, while the Groovy and Grails tutorial was a last minute change as my original tutorial with Steve Freeman was cancelled.

Dan started out introducing agile and Domain Driven Design and then went on to describe his particular approach to the agile development process.

Dan stresses that it is important to do enough planning and design, and BDD integrates not just developers but also business analysts and testers in the development process. So what is enough? This will vary from project to project, and this is a key skill to develop for an architect and software developer. Combining analysis and design with agile and lean concepts like “latest responsible moment” and “pull” is the key to making this work. So, doing enough work when you need it, not before and not after.

It is also important to consider all the stakeholders in your project. Everyone who has an interest in your project is a stakeholder, and this will include many other than your sponsor, product manager and your users. Dan splits it into Core stakeholders which are the primary parties mentioned above, and the incidental stakeholders which could include security people, infrastructure people, the people responsible for maintenance of your application and so on. We had a little discussion about users, questioning whether they also most of the time are incidental stakeholders when they themselves had not asked for an application that changes the way they work.

There is of course a lot more to this, and I will do another blogpost on this topic when I get back from the conference. All in all this tutorial was very interesting, and I look forward to sharing this with my colleagues when I get home.

I must say I was a little disappointed with the Groovy and Grails tutorial. As I said I changed to this in the last minute, and I don’t know what I expected, but I found out that the couple of hours I’d spent preparing in the hotel room the night before covered most of the tutorial. Especially with my prior knowledge of Ruby and Rails, which Groovy and Grails is quite similar with.

That said, Graeme Rocher comes across as a very engaged and competent guy, and even with the introductory level, there was a couple of cool things to see. The key takeaway for me was to see how Groovy for better or worse is integrated with Java. This makes it less suitable as a pure scripting language due to the increased startup time of the JVM, and more suitable as a supplement to Java for building web application or doing testing or other scripting tasks related to your Java projects. We also manged to get an interesting discussion about metaprogramming going. I really enjoyed that.

Well that is it for day zero. Watch out for more on the next couple of days as the conference progresses.