Code Quality

What is code quality? According to the guys behind Crap4j it is the kind of code that makes you cry: This is crap! I think this is a pretty good definition. I have just read Implementation Patterns by Kent Beck. The main theme of this book is that the most important thing when writing good quality code is that it communicates well since code is read much more often than it is written…. and that the total cost of a piece of software is the sum of the initial cost of developing it and the cost of maintaining it. It often turns out that the maintenance cost is much higher than the initial cost. Hence good quality code is code that is easy to read and easy to maintain (i.e. add, remove and change functionality).

This is only one small aspect, so more will come…. I promise!

Øredev 2007 – Day 2

Well, I did not win the iPod… But I ended up 5th at the coding challege at the Epsilon booth. Not too bad if you consider the amount of programming expertise present at the conference. The second day of the conference started with an excellent keynote by Joel Spolsky. He talked about what it is that makes some products blue-chip products while other that just as good end up being ordinaray products.

I also heard Andy Hunt talking about how to refactor your wetware, Kevlin Henney talked about the Agility Cube and Jeff Sutherland
presented Project Management with Scrum. The conference ended with a panel debate about the complexity we are facing in modern software development. All in all a great day at the conference.

Øredev 2007 – Day 1

I blogged a short comment every day during JavaOne this summer. These days I am attending the Øredev 2007 Conference and I can not be any less ambitious now, so here we go 🙂

Day 1 opened with a keynote by Andy Hunt that was talking about “How hard can it be?“. It turns out that the answer to this question is that “it is as hard as we make it“.

In one session Rickard Öberg gave a crash course in Qi4j and Context Driven Design. Floyd Marinescu talked about trends and future of enterprise Java™. We got a presentation of JavaFX by Torbjörn Frizon where he coded the presentation viewer on the fly…  Rob Harrop gave an introduction to Spring Batch and Jeff Sutherland talked about The Agile Enterprise.

The afternoon keynote was held by Dan North where he talked about Best Practices or Better “Best” Practices or No Best Practices at all.  He kept his promise to let us out to get our well deserved beer on time 🙂

All in all a great day on the conference that ended with dinner, stand-up comedy and a couple of beers. Tomorrow I plan on winning an iPod in the exhibition hall…!!

Who Moved My Cheese?

Yesterday I read this wonderful book written by Dr. Spencer Johnson. It is a short story about how to cope with change and it applies to your personal life as well as to your work situation. An absolute must-read for anyone that does not want to be left behind… It is only one click away 🙂

ScrumWorks works

I have been playing around with ScrumWorks™ Basic Edition which is a free project management tool for Scrum and other agile methods.

ScrumWorks™ Basic features are:

  • Product backlog and release management
  • Categorization of backlog items using themes
  • Sprint task tracking for teams
  • Reports
  • Impediment tracking
  • User and team manager
  • Excel import/export
  • Web Services API
  • Automated and manual database backups

It was easy to install. Just download the file, unzip it and run the installer. Online help is good and it is pretty easy to understand if you know the basic terminology of Scrum.

More information and downloads can be found on the Danube Technolgies website.

Book Recommendation

I suddenly discovered that I have been a bit lazy lately regarding updating this blog. I hope that I will be getting better at it from now of…

Anyway, I have just started reading a book by Gerard Meszaros called xUnit Test Patterns.  So far it seems really good and I nearly can’t wait till I can start applying some of the stuff on my project’s test code base.

Javaforum in Malmö September 27

Next Javaforum meeting in Malmö will be held September 27. At this meeting, I will give a presentation called Simply Java. I will not reveal more of the content at this moment, but I hope it will be worth while…

There will also be presentations on Netbeans and mobility, news in Spring 2.1
and an introduction to JavaFX.

See invitation for more information.

Feed the Starving Sprint

When you introduce Scrum in an organization that is used to the more traditional way of developing software, a common scenario is that your product backlog is reduced faster than it is filled with requests for new features. The reason for this is that Scrum enables the team to deliver functionality more effective than the receiving organization is used to, hence it takes too long to get the new functionality into production. What happens then is that you will probably end up with a a sprint that slowly starves to death. The medicine for this is as simply as work as hard you can to getting the new functionality into production as fast as possible. This is the only way to force the end users to actually use the new functionality and come up with suggestions for improvements to feed the sprint…