Posted by andy in : Agile on December 4, 2006. There are no Comments »I recently had the opportunity to help Rachel Davies run a class on User Stories (I was more the unglamorous assistant). The class produced some wonderful examples that we wanted to share. Rachel has blogged them. These are some of my favourites.
As a boy I want a big garden that can house a kennel so that my mum can buy me a dog.
As a teenage daughter, I would like my own bathroom so I don’t have to share with my younger brother (Kevin).
As Grandma, I want big windows to watch what is happening in the neighbourhood so that I can gossip.
As a dog, I want to live close to the park so I can go for walks and sticks to play with would be nice.
Fantastic.
Posted by andy in : Agile on November 13, 2006. There are no Comments »I came across a very strange number today while writing some unit tests. Apparently Java thinks “10WTF?” is a perfectly valid number and does not throw a ParseException when you try converting the string to a number.
Here is the unit test to prove it!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| import junit.framework.TestCase;
import java.text.DecimalFormat;
import java.text.ParseException;
public class StrangeNumberTest extends TestCase {
public void testWierdJavaNumber() throws ParseException {
DecimalFormat format = new DecimalFormat("##,###.00");
assertEquals("Amazing, but true",
10,
(Long) format.parse("10WTF?"), 0);
}
} |
Posted by andy in : Agile on November 1, 2006. There are no Comments »Romilly and I are running an introductory session at XPDay to evoke some of the fun and exhilaration that XP teams can expect as they work. It’s easy to read about the key practices and values of XP, but not so easy to relate them to real day-to-day project experiences.
After a brief introduction, the session will run an accelerated simulation of a day in the life of an XP team. See the developers, customer and coach in action in this fast-paced session and try to guess what will happen next!
I hope to see you at the conference for a chat and a beer!
Posted by andy in : Agile on October 5, 2006. There is 1 Comment »I once had the pleasure of working on a team with Chris Stevenson. We had a ball. One thing I noticed was that he talked in keystrokes when you paired with him. He wouldn’t dream of saying, “let’s run all the tests and check in”, he would say “shift F10, Ctrl K”!
I must point out that Chris is not as geeky and dysfunctional as this may sound (in fact, he’s not dysfunctional at all :)). This was simply a great way to help you learn the keyboard shortcut keys and stop faffing with the mouse!
I have just found a fantastic Chris substitute. It’s an Intellij plugin called KeyPromoter that displays a big hint every time you use the mouse. It even prompts you to enter a shortcut key for things you do that don’t already have one.

So, if you’re a loser who doesn’t have anyone to code with …
Posted by andy in : Agile on October 4, 2006. There are no Comments »The XPDay conference in London is open for business. Once again it looks like it’s going to be a cracking conference, with interesting sessions and fabulous social events (where you learn the most!).
Romilly Cocking and I are running an introductory session on XP. The best way to learn something is to experience it. We haven’t fully worked out the logistics, but we want to make it as dynamic and interactive as possible. While we are somewhat constrained by only having a 1 hour slot, we are hoping to run the session as an XP project so that people new to XP can see how it works.
Hope you can make the conference. Thanks to John Nolan for the cheaky title of this post.
Posted by andy in : Agile on September 21, 2006. There is 1 Comment »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
Posted by andy in : Agile, books on September 17, 2006. There are no Comments »
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.
Posted by andy in : Agile, Software, Teams, Testing on September 14, 2006. There are no Comments »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!
Posted by andy in : Agile on August 24, 2006. There are no Comments »Chris talks about his work on applying real options on agile projects http://agiletoolkit.libsyn.com/index.php?post_id=121123. He also talks about our work on Business Value.
Posted by andy in : Agile on . There are 3 Comments »I was explaining the ideas behind burndown charts today. Tim Mackinnon et al wrote a great paper for the Agile Development Conference that I wanted to show them. I really like their simple approach. Sadly the conference’s web site is not longer around.
Fortunately Tim has a copy on his web site
http://www.macta.f2s.com/Thoughts/planning.html
A more indepth look at burn down charts can be found on Alistair Cockburn’s site:
http://alistair.cockburn.us/index.php/Earned-value_and_burn_charts
I will have to see if I can recover the other great papers from this conference. It would be a real shame to loose them.