Kerry Buckley

What’s the simplest thing that could possibly go wrong?

BVB: Big Visible Belly graph
12 March 2008

InfoWorld Article on BT and Agile

Some time last year I was interviewed by Tom Hoffman for Infoworld, as part of a piece he was writing on BT’s (ongoing) transition to an agile software development model. Here’s the article:

BT: A case study in agile programming

2 November 2007

No Internet and no Software

One of the questions for the panel at Wednesday's Open Source event at BT Centre concerned the fact that most of the company doesn't have a connection to the Internet; just proxied web access. Also, installing any software not on a relatively small approved list is forbidden.

"Given that we don't have the Internet or any software, how are we supposed to work with Open Source?"

Doc Searls's response:

"The current policy is freaking insane! It's utterly inconsistent with BT's strategy, and I can't understand why anyone would want to come and work here... Maybe we ought to go and storm the head office or something."

Technorati Tags: , , ,

26 September 2007

Concurrent design and development – a better spin?

Another day, another argument discussion with a colleague over the common misapprehension that you can have a process with discrete requirements capture, design, development and test phases, yet somehow still claim to be agile. Once again, I tried (with limited success) to explain that you don't need to do all your designing up front before you start writing code, and that starting to write code almost immediately isn't 'hacking', provided that you are continuously paying attention to good design as you go.

In other words, agile developers do just as much designing as those still following waterfall methods, but we do it at the same time as writing the code.

Reflecting afterwards, I realised that I've been phrasing the message the wrong way. As anyone who really 'gets' test-driven (and particularly behaviour-driven) development knows, it's not really about the testing, but about the design process. A waterfall 'designer' starts from an understanding of the problem and builds up some kind of model for a solution, which they then pass on to the implementors An agile developer does exactly the same, but the language they use for the model happens to be executable source code rather than documents or UML. This choice of modeling language has the rather large benefit of being testable, and once your design is finished, you're done. No need for someone to try to interpret and implement it. No scope for misunderstandings between designer and developer. No danger that the design is incomplete, or that part of it turns out to be unworkable.

It's not that we start writing code and design as we go along.

We are always designing – we just write the code as we go along.

Technorati Tags: , ,

17 June 2007

A step-by-step BDD example using RSpec

We've now got a Ruby focus group at work, and one of the first things to be set up has been a weekly programming exercise [intranet link], in the style of Ruby Quiz. It's now week two, and the problem is slightly more complex than last week's gentle FizzBuzz introduction. Here's the specification:

This time, the challenge is to come up with some Ruby code that converts a positive integer to its English language
equivalent. For example:

1 => one

10 => ten

123 => one hundred and twenty three

10,456 => ten thousand four hundred and fifty six

1,234,123 => one million two hundred thirty four thousand one hundred and twenty three

The code should work from numbers 1 - 10,000,000,000 (ten billion) but if it works for bigger numbers its all good.

For an extra challenge, when the strings for the numbers for 1 - 10,000,000,000 are sorted alphabetically, which is the
first odd number in the list?

I thought it might be interesting (to me, at least!) to record the process I go through to reach the solution, rather than just sharing the finished article. I'm using a behaviour-driven approach, although the process for writing a single method obviously doesn't touch on a lot of the wider aspects of BDD.

So here it is, warts and all (I'm writing this as I go along, so I have no idea how long this post is going to get, or whether I'll even arrive at a solution at all!)
Read the rest of this entry »

9 June 2007

Software/geek symbiosis

Yesterday I was lucky enough to get the chance to attend a talk/workshop on TiddlyWiki, presented by its creator Jeremy Ruston, with quality supporting acts from JP and Doc Searls. Jeremy has just joined BT as Head of Open Source Innovation, which is pretty cool in itself.

One of the comments he made that particularly struck me was to the effect that a piece of software is a living thing, but is parasitic, requiring a 'geek host' to live on. Much of the value of software isn't what it does, but what it can potentially do. Once you separate the software from its geek, it starts to die, because it can no longer adapt to changes in its environment.

I think this is something that we're losing in the world of corporate IT. Read the rest of this entry »

9 June 2007
18 May 2007

BT Agile Awards final

The CSAM-n team receiving our trophy

Wednesday night saw the end-of-year BT Agile Awards dinner, with all the recipients of the various quarterly awards gathering at the Royal Horseguards Hotel to eat, drink, and find out who'd won the overall team and individual awards for the year. It was a good night, made even better by the fact that we won the team award! Our prize is that we're off to the Agile 2007 conference in Washington DC in August.

Congratulations also to Gregg Wyburn for winning the individual award, and to our current colleagues from the .NET SDK team, who picked up their quarter three award for best application of the BT agile values.

More photos from the night on Flickr (see also photos tagged with btagileawards – hopefully some more people will post and tag photos, but BT's webfilter blocking Flickr doesn't help).

15 May 2007
18 February 2007

BT’s Java SDK part two: making phone calls

Yesterday we saw how easy it is to send text messages using the SDK, so now let's try making a phone call.

Read the rest of this entry »

17 February 2007

BT’s Java SDK

As I mentioned recently, I now work in the Web21C SDK team. The SDK provides a simple API for programmatically accessing various web services that BT provides, including SMS, conference calls and location services.

The SDK is in public beta, and is currently free (with daily usage limits). Up to now it's only been available for those crazy .NET folks, but the next release (on Monday, all being well) will extend that to Java, PHP and Python. Rumour has it that Ruby's in the works too.

I've been having a play with the Java version – here's a sneak preview...

Read the rest of this entry »