December 27, 2010

...Learn TDD with Codemanship

Software Craftsmanship At The BBC - Case Study & Background

So here it is, finally. Two years in the making and not quite in the format we'd planned for.

Click on this link to read a case study of the peer-led software craftsmanship programme I've been coaching engineers on at the BBC. It was orginally written as an article for ObjectiveView magazine, over a year ago, but for some reason that edition still hasn't appeared. Being an impatient sort of chap, I couldn't wait any longer to share it with you. Especially as Kerry Jones (my co-author and all-round fine fellow) went to all the trouble of getting it cleared through the proper channels for public consumption. Waste not, want not!

Since a year has passed, things have moved on somewhat, and I hope one day soon to write an updated case study that incorporates more lessons learned. But in the meantime, this gives a pretty good sense of how it worked and what was achieved in that first year.

As it happens, the story of software craftsmanship at the BBC goes back further, and it's worth recounting for those of you who are interested in hearing how such a thing took hold in arguably the world's most respected broadcaster.

Those of you who know people who've worked at the BBC will know that Agile seeds found fertile ground there quite some time ago, and many well-known Agilistas such as Karl Scotland, Rachel Davies and Antony Marcano have walked the corridors in White City over the last decade.

My story with the BBC follows a more circuitous route, via their commercial arm, BBC Worldwide. I worked at Worldwide as a software development coach and general trouble-maker from 2007-2008, aiding and abetting their internal technical authority Peter Camfield, who has done a great deal to foster craftsmanship there.

We both firmly believed in the potential of their people and set about a dastardly scheme to put the fire back into their bellies with a series of inspiring lunchtime talks, both from people within the BBC who were happy (and brave enough) to share, and from external folk with a rousing tale to tell, people like Martin Fowler, Scott Ambler, Eric Evans, Steve Freeman, Gojko Adzic and others of that ilk.

As interest in craftsmanship grew, we began to see some developers proactively engaging. Blogs started up, conferences were attended and the Extreme Tuesday Club gained a few new regulars who have since gone on to play a leading role in the community themselves - great, enthusiastic folk like Matt Wynne, Dan Rough, Hibri Marzook, Vijay Mistry and Rob Bowley. I can't claim that Peter and I transformed these people into software craftsmen, of course. The seeds were always there and their journeys were already begun, as with any true professional. But in any organisation, such journeys can benefit from a catalyst to accelerate the process. I've often been described as a "catalyst" (and other words beginning with "c", of course, by those who are less comfortable with change).

Critically, what Peter and I (and Matt and Dan and Hibri and Rob and others, let's not forget) were trying to do had management support. Without the backing of the Head of Development, Gareth Charles, and overall dev manager Martin Joynes, we would have hit a brick wall and been undone. Change is not easy, and it takes a brave boss to do what's right in the interests of the bigger picture.

So much changed over the course of that year. The way we hired developers, for example, became much more focused on craftsmanship. Painful though it was, and much like panning for gold at times, it brought us some real nuggets - Josh Chisholm, David Laing and tester Adrian Lewis (thanks to the inspiration we gained from Gojko Adzic) among them. Adrian has since joined BBC News & Knowledge as their head of QA, and by the sounds of things is busy being a catalyst himself over there, with loads of very cool craftsmanship-related things taking shape for next year.

It's very important to stress at this point that things before were not at all bad when I arrived. They already had lots of good people doing perfectly good work. But it's a classic mistake for organisations to adopt an "if it ain't broke, why fix it?" attitude to their people and their people's skills and motivations. BBC Worldwide (and the BBC as a whole), thankfully, is one of those rare organisations that has more of a "if it ain't perfect, why stop here?" attitude. Most companies wait until the proverbial hits the fan, and then they pick up the phone to me and say "please come and fix us". You're probably aware how futile it is to try to introduce beneficial long-term change in the middle of a firefight.

Meanwhile, word had spread across the road to BBC corporate about the cool stuff that was going on at Worldwide (just as word had also spread to Worldwide about the cool stuff that was going on at the BBC). We gladly extended an invitation for engineers and managers in the BBC to come along to our lunchtime sessions, and began to see some regular faces like Kerry Jones , Liz Sedley (co-author of Agile Coaching) and Lasse Neilson, who has been a familiar face in the software development community for some years.

As links developed between us and the BBC folk, as well as the wider community, the software craftsmanship meme was starting to rise in temperature. And the early seeds of a peer-led approach to coaching developers was forming in my head. Towards the end of my year with Worldwide, plans were formed to put it into action with a small pilot group that included myself, Peter Camfield, Matt Wynne, Rob Bowley, Hibri Marzook and my brother Antony, who was working with us at the time.

As with all best-laid plans, it didn't take off with Worldwide. But the idea did get some traction within the BBC, particularly with Kerry Jones, who had similar ambitions for craftsmanship there as Peter and I had harboured for Worldwide. So, while I took on coaching work with other clients, a dialogue began, which eventually led us to Kerry's development manager, Nick Gallon (a fine example of dev management, I must say) and before the end of 2008 a pilot programme had begun, which is where the case study picks up.

Another very important slice of craftsmanship history that's tied to the BBC is the first Software Craftsmanship conference. Planning for that began around the same time talks began with the folks in TVPlatforms, and both BBC Worldwide and BBC corporate were keen to be involved and very supportive. They hosted the event and sponsored it with catering and all the usual things it takes to run a successful conference. About 20 BBC and BBCWW developers attended, which is about 20% of the total audience - an impressive commitment to craftsmanship for which I'm still very grateful.

Over the last 3 years, the BBC has become a focus for the craftsmanship movement. With TV Platforms and now News & Media committing to software craftsmanship, it's the largest case study in apprenticeships and peer-led learning and practice I'm aware of since the craftsmanship movement really took shape. I'm extremely proud to be involved, especially as the BBC are a brand I feel very strongly about.

You see, the seeds have to be there in the first place. The people writing software at the BBC are smart, passionate and have enormous potential. It's quite exciting to think about what they could achieve in the next few years, and what impact that might have on the landscape of TV and digital media for all of us. I get a real buzz thinking about all that clean, tested code running on people's set-top boxes and desktops and other media devices.

But even the healthiest seeds need fertile soil to grow in. Speaking as an outsider, the culture of the BBC, across the board, seems really quite unique. They are very open and very willing to face new challenges and embrace change. It takes enlightened management acting on the right motives and not out of fear, which is why managers like Nick Gallon and his colleague Roux Joubert (also an excellent dev manager who has done so much to drive things forward as the programme has progressed) are such critical pieces in the puzzle. It is they, along with passionate engineers like Kerry, James Parkin, Andrew Evans, Nic Ford and Anthony Green in News & Knowledge that are making this happen, and I struggle to imagine it happening in many other cultures. I don't think it's a coincidence that software craftsmanship has taken off faster at the BBC than in any other UK organisation that I'm aware of.

So that's the story of software craftsmanship at the BBC. And it's a story that's only just begun, if I'm reading the signs right.



If you have been affected by any of the issues raised in this blog post, visit http://www.codemanship.com





Posted 7 years, 6 months ago on December 27, 2010