I am Paul Wilson; Mere Complexities Limited, sells my consulting, coaching, and coding services. I am passionate about Agile, particularly Test Driven Development.


It won't work for us because.....

Yes, I can see that working really well for ..... teams, but we're a ....

Someone told me that she can see how Agile work for big organisations but not for the small companies with which she works. Someone else agreed that a XP team was successful, but they were ''brownfield'' whereas her team was ''greenfield'': it just wouldn't work for her team.

Of course if you're ''brownfield'' then it's only appropriate for ''greenfield''. If you write ''product'' it's only appropriate for ''inhouse'' development; obviously, it is the other way round if you write ''inhouse'' stuff. As it turns out every project has a quirk which means that Agile Software Development won't work for it.

This is all fair enough, really. It is difficult to implement and it does require a shift in thinking. People know their own business well and can anticipate problems; they just need to know that the issues are tractable and others have encountered and overcome them before.

I think it would make a good SIG / Conference panel session: "We can't do Agile because ....". What do you think?


Names

Tropical storm names:

Experience shows that the use of short, distinctive given names in written as well as spoken communications is quicker and less subject to error than the older more cumbersome latitude-longitude identification methods. These advantages are especially important in exchanging detailed storm information between hundreds of widely scattered stations, coastal bases, and ships at sea.

During my last project it became important to name the monthly releases; we decided to follow a "hurricane naming strategy". It's easier to think and talk about what stories went into "Betty" than release 1_0_0_1, while the alphabetical naming helps maintain a mental picture of the order in which things occurred.

The playful nature of the names also added to the morale and mental health of the team; this did conflict a little with a corporate view that being officially miserable in one's duties is the same as professionalism.

As mildly pleased as I was with this strategy the fact that our new daughter now shares a name (Florence) with one of the releases is entirely coincidental. It has been suggested that we use 1_0_0_6_b3 as a middle name, though.


Ruby in the Ascendant

There's quite a buzz around Ruby just now, mostly thanks to The Pragmatic boys and 37 signals.

According to the General Register Office for Scotland, during 2005 the most significant climber in Scottish girl's names was Ruby (up 70 places to 43). Coincidence? I think not.


On a personal note - announcing the birth of our daughter

baby photo

I don't normally write personal stuff here, but who really cares?

One week late, at 13:13 on (Easter) Monday 17 April my wife Jenny gave birth to our daughter. Everyone's fine. She was 3.5 kg / 7lb 11oz (the baby not Jenny). Christopher spent most of the labour watching DVDs with one of the midwives. This time we managed to get the pool up and filled in time.

Baby photos here.


Code like a chimp

stolen chimp at keyboard image

public static final String HTTP = "http";
public static final String COLON = ":";
public static final String FORWARD_SLASH = "/";
private String url;

public void setUrl(String host, String path)
{
   url = HTTP + COLON + FORWARD_SLASH + FORWARD_SLASH + host + FORWARD_SLASH + path;
}

The above is based on some code I came across recently; amongst other things it protects against accidental misspelling of ":". It's a classic example of following a practice without considering the principles.

A recent study(*) compared the methods that chimpanzees used to retreive an object from a translucent box, with those employed by 3 to 4 year old children. The children were happy to exactly copy all the actions of demonstrators. The chimps only followed those actions that actually had some obvious function: one of the things set sets us apart from animals is the facility for mindless imitation.

Chimps don't do cargo cults. Despite any evolutionary advantages, I'd rather the coders that I work with didn't either.

(*) Via New Scientist.

Shoelaces

Look, I've told you before to learn how to tie your shoelaces properly.

Let this from the BBC be a warning:

A museum visitor who said he had accidentally smashed three 17th Century porcelain vases has been arrested on suspicion of causing criminal damage. Nick Flynn said he had tripped over a shoelace and crashed into the Quing Dynasty vases at The Fitzwilliam Museum in Cambridge in January. A specialist restorer is gluing together more than 400 pieces to recreate the highly valuable artefacts.

Edited highlights - a year introducing agile

Last year I took a contract at a large organisation on condition that I could introduce Agile (whatever that is) techniques to my team. I finished the other week to take some family time in preparation for our new baby (due any day now).

It's been an interesting year - intensely frustrating at times; at other times remarkably easy. On occasion I've prepared myself for a big effort on some issue such as frequent and regular releases, just to find that I was pushing on an open door. I'll try and write more about the experience later - obviously I made many of mistakes and learnt a lot.

In the meantime here are some of my favourite moments.

In iteration planning meeting

program manager: Ah this item is very important because of (perceived risk...). We should add it to the sprint.

developer: Yes of course we can..... Now that's a 2 day estimate. Which item(s) do you want to drop?

program manager: Well, we need that .. and that ... and well.. Put it at the top of the next sprint.

Pairing - writing FIT tests for feed mappings

me: Ok, so this rule about the currencies and the commodity name is quite complicated - we should add another table expressing only that rule in this test.

pair: God, I see. This isn't just a test - it documents the mapping.

The curious thing is that I'd been saying almost that exact thing repeatedly for weeks, if not months. I suppose you just have to see things for yourself.

BA spots mistake in my FIT test.

Near the end of the contract, I finally managed to get a Business Analyst interested in the potential of our acceptance tests. I was particularly pleased when he spotted my misunderstanding of a requirement by looking at the test, a week before he could have got at the code.

Miscellaneous

Team lead: I've never felt so closely tracked on a project before.

Big cheese: I am particularly pleased with the progress and visibility of this team.

Various at different times: I ran the tests and this other seemingly unrelated thing broke. I'd have never spotted that. (ok maybe not always those exact words....)


Amazon recruitment

Congratulations to my mate Anthony Bailey on his new job. If you're thinking of applying to the Amazon's Scottish Development Centre, you should definitely take a look at Anthony's account of the recruitment process.

From what I've heard, reading the Algorithms and Data Structures book probably helped. Turning up a week early for the interview is an interesting strategy, though you probably don't want to try that: it would look like copying. Make your own geek thing up; wear odd socks or something.


subscribe here subscribe

About me

picture

Conference

Scotland on Rails Organiser

Previous blog posts

Blog archive

Other links: