Categories
Development

More typing

Gavin King has read the post I pointed to in Extraordinarily typesafe and points out how new features in the Java world are giving us a lot of new possibilities in a type safe way.

I am slowly coming to my senses seeing how much benefit newer features like generics, static imports and annotations are bringing to the game. I used to think that these features were nice to have, but didn’t revolutionize the way we develop our applications. After seeing how Jmock2, Guice, Quaré and others use new features to change the way we code I am beginning to see the light.

I didn’t use to think the Spring xml files were that bad either, but now I really need to look into the Spring Java config API.

Who knows, I might even look into Ruby one of these days. (I would probably miss my type saftety though) 😉

Categories
Development

Experiences for distributed teams

Mar Levison has some experiences and links to tools here.

Categories
Development

Constant change

When we started doing Scrum many of us was quite inexperienced and we didn’t really know how shorter or longer iterations would affect us. As Mike Cohn acknowledges in this article an important driver when choosing iteration lengths is how you wish to handle change. Basically start out short, and try longer if that works for you, which basically sums up my experience too.

In agile we’re always talking about embracing change, but depending on your organization and experience there will probably be a lower threshold for how often you can accept change. We have only tried running with three weeks iterations, but we did struggle a bit early on.

We did the rookie mistake of accepting changes all the time. We still try to be flexible when the customer needs to make changes in the iteration, but we become quite restrictive when we are approaching the end of an iteration. About half way through the iteration we start to reject anything that isn’t minor changes.

With longer iterations we would be able to accept changes as the customer works on the stories with us and we both gain better understanding of the task at hand. With shorter iterations we would do smaller increments that would be easier to correct, and the correction wouldn’t be more than max two weeks away. If I was going to experiment with a different iteration length I would do the shorter one. Projects that have a unknown domain which contoniously changes would be better off with shorter iterations.