Agile, Test

BDD with Scenario tables in Fitnesse Slim

I think writing functional tests in a given-when-then style manner is a great idea. Tests tend to be clearer and more precise when written this way. There are quite a few tools too choose from. Cucumber by Aslak Hellesøy seems to have a lot of momentum these days and is an acceptance testing framework definitely worth considering.

However, the customer I work with has been using Fitnesse for a number of years now, which means people are familiar with this framework. So going for the new Fitnesse Slim framework seemed like a step in the right direction.

Continue reading

Agile, Kanban

Kanban – the next step in the agile evolution?

The software industry has embraced agile methods. A rising number of teams is now trying to deliver value incrementally in small iterations. This is of course a good thing. Customers get new functionality more frequently out into the market, an increasingly important factor in a competitive global economy.

The innovators and early adopters of agile methodologies were able to deliver great results using agile methodologies like Scrum and XP. But these early adopters were software craftsmen, proud developers of well-crafted software with lots of enthusiasm in addition to good communication skills. These early agile teams would probably succeed using less agile methods than Scrum and XP. Now the agile train has really started rolling, the majority has “seen the light” and even the laggards are starting to think that this might be worth looking into. Should we be happy? Or is it time to get just a little bit worried?
Continue reading

TDD, Uncategorized

Behaviour Driven Development with Mockito

I’ve been using EasyMock for 3 years now, and have been quite happy with the way it has helped me to test drive development. Sometimes though, I’ve felt that my tests have become hard to read. Hard to read tests is often a test smell and a sign that the code is poorly factored so I should be careful blaming this all on EasyMock. Seriously, EasyMock has been a good friend and I wasn’t really looking for a replacement. But then I stumbled across the Mockito mocking framework

Continue reading


Running fitnesse from Eclipse

I believe that running fitnesse from inside of eclipse is a good idea. When Fitnesse is using my eclipse classpath I can modify my code without having to restart fitnesse. This gives me nice, short cycles and is major efficiency boost. A good colleague of mine, Morten Udnæs, had created a small start up class for Fitnesse in Eclipse. But when upgrading to the latest stable release of fitnesse (20090709) I found that I had to modify this class a bit – Uncle Bob has done quite a few refactorings over the last couple of releases.

Continue reading

Agile, Test

Agile testing

The vacation is over and a new project is just around the corner. As an iteration zero we have working on setting up the technical infrastructure and tried to carve out a test strategy for the development. In this project we really want to practice a test first strategy, not only for unit tests but also test driving the requirements. This means that before development of a feature can start, a set of acceptance tests should be written in a form that makes it executable. We’ve been using fitnesse (old style) for this for most of our previous projects. But it turns out that neither developers nor testers are particularty satisfied with the current solution. Developers thinks it is tedious and time consuming to develop and maintain tests investment. Testers too find it hard to use (for other reasons than developers, but that’s another story) and we find they often skip the regression tests suites because it is to hard to use.  If it is hard to use then people will avoid it.

Continue reading

Agile, TDD

TDD workshop – Make the right code right

Last week a colleague and I held a presentation about TDD for some of the developers at one of the largest banks in Norway. It was a 3 hours session with a mixture of presentation and 3 demos. The presentation can be viewed here. Here is a quick summary of the contents of the session:

The session was split into three parts:

1) TDD intro – What is it and why should you use it
2) Beyond TDD – Why supplementary techniques is needed
3) TDD in “real life”

Continue reading

Agile, lessons learned, Scrum

3 ways to kill focus in an agile project

Focus is in my opinion, one of the key ingredients in agile software development and teams with the correct focus will consistently deliver more value to the organization than none-focused team. Obviously.

There is more than one reason why focus is important within software development. Not only must the team focus on the stories at hand, they must also focus on delivering the right code for these stories. When you know that 56 % of all errors in software projects stems from the requirements you realize that this is extremely difficult. Yes, software development is hard and it is really not surprising that so many software projects are late, more expensive than planned or even worse: fails to complete at all.

Continue reading