L'etat, c'est moi
Mere Complexities sells the consulting and development services of me, Paul Wilson.
Conferences
Archive
Wasting time
On my current work project we have just replanned our Product Backlog, going from tasks (code stored procedures to populate table ‘x’) to stories (produce statement containg position summaries).
First I printed out our current backlog and cut it into strips containing the individual tasks – then we spent half an hour sorting them into functional areas. After that we left the original tasks on one side and wrote candidate stories on Post-It notes and stuck them on the whiteboard, overlapping related stories. We conflated similar stories, resliced those that were too task like, estimated, and produced the new backlog – we didn’t get back to the sorted strips of paper.
So was cutting up and sorting the original tasks was a waste of time? No, I don’t think so. It got us started, put is in the right mindset, and meant that we had reviewed all the tasks on the original backlog before we started on the new backlog.
Just because an activity does not directly produce something tangible, it does not mean that it was a waste of time. If it got you started, or you learnt something then it was worthwhile.
Fitnesse
Since Feb’s Agile Scotland talk on automated acceptance testing, I’ve been been getting more and more into Fitnesse; fair enough, since the talk was by Brian Swan, I really ought to be knee deep in Exactor.
There’s little more natural for most test documentation than a table: input column and expected output columns. Make those tables executable (Fit), then the the easy wiki interface of Fitnesse and you may have a winner: it even looks great.
So far I’ve written acceptance tests for the XP Wednesday Web Expenses, using Fitnesse with the JWebunit fixtures and applied them first against a Java Servlet based implementation then a Ruby On Rails version; I loved having the acceptance tests for the second implementation (they postdated the first).
I’ve also been working on extending these Jdbc Fitnesse fixtures to use for database unit testing. Ok, Fitnesse is meant to be an acceptance rather than unit testing framework, but I need them to be writable by Database programmers with no Java, or desire to learn Java.
Drawbacks with Fitnesse:
- I can’t think of a neat way to incorporate the tests into souce control (CVS), such that the tests are associated with a version of code.
- The documentation ain’t that good. As good and concise as the source code is, I’ve been finding the style not to my taste and hence a bit tricky to follow- recursion for iteration is something I try to avoid since first reading McConnell.