A picture paints a thousand rants

Posted by andy in : Agile on September 21, 2006

I wanted to vent about spring, iop, too much xml, framework hell…. making testing difficult…. Then I discovered this link. A picture paints a thousand rants…

Java call stack - from HTTP upto JDBC as a picture

Add to del.icio.us , Digg this , 1 Comment »

Innovation Games

Posted by andy in : Agile, books on September 17, 2006

a great cover!At long last, Luke Hohmann’s book
‘Innovation Games’
has arrived. I became hooked on Innovation Games when I read an early draft of Luke’s book. That seems so long ago!

A software group is best measured by its customers’ success. Understanding what they really need is critical, but customers are human too which means that they’re fallible. Customers can’t always tell you what they want because sometimes they don’t know themselves, so asking them to rank requirements or write stories might not be the best place to start.

The book is a collection of games you can play with the customer to gain a better understanding of what they need. Although the book is really about product management (working out what product a customer wants), I think these games are useful for agile teams trying to get a better understanding of what their customer wants.

Steve Freeman and I ran a really success session at last year’s XP day on this very subject.

Add to del.icio.us , Digg this , No Comments »

Fit Lesson 2

Posted by andy in : Agile, Software, Teams, Testing on September 14, 2006

Organise the Fit Tests around your iteration’s stories

I like to take small baby steps when I write software. It makes life easy. I don’t have to merge very much code, I get regular closure on what I’m doing, I don’t have to carry too much around in my head, and I can discard mistakes without loosing too much work.

Automated acceptance tests, such as Fit, can throw a throw a spanner in the works. I like to explore the problem by writing the Fit test with a domain expert before I start writing any code. I treat the acceptance test(s) as a definition of success. Before I start work on a new feature I need to understand how I’ll know when the Customer/Domain Expert is happy with what I have done. I flesh out the answer in the fit test (I often have several Fit tests exploring different aspects of the story).

Great, but Fit tests are course grained in nature. I typically make at least 20 baby steps (source code commits) before a story is complete. I don’t want to commit the Fit test before I start writing code as the Fit test will fail and break the build. Not good. I don’t want to wait until the fit test is complete as that will loose all the advantages of developing in baby steps.

Some teams use different directories to distinguish between the Fit tests that have been completed and should pass, and those that are currently being worked on. The tests get moved around when they have been completed. I guess that solves the baby steps problem, but I’ve never liked moving files around to indicate completion and it’s still hard to see how the Fit tests relate to the originating Customer Stories.

William Jones has a much nicer solution with his Agilifier project.

There is not much documentation at the moment (well, it is opensource!), so I’ll give you a quick overview.

  • You group the Fit tests around the stories they are associated with. All the tests associated with a story are contained in a directory. You place the original story in the story.txt file. You simply add your Fit test files to the directory.
  • You use test suites to make the distinction between the previously completed tests (i.e. we have broken something if they don’t pass - and should fail the build!), the tests associated with the current iteration (i.e. these provide a progress bar of the current iteration) and those tests an individual (or pair) are currently working on. The suites are simple text files containing the tests to be included in the suite.
  • Agilifier runs the test suites and glues the story and Fit tests together in a nice html report.

Download it and give it a try. You should be able to figure it out from it’s own acceptance tests!

Add to del.icio.us , Digg this , No Comments »

Site Map | design by twothirty