Endjin - Home

Agile Architecture: Painting by Numbers

by Howard van Rooijen

I originally wrote this post in 2007 (now lost in the annals of time), and is one of my favourite posts. I’m very fond of the confluence of ideas and the serendipity of discovering someone amazing from another discipline articulating the same thoughts I was having.

During one of the Open Space sessions I attended at the Scrum Gathering in 2006, I put forward the analogy of “Painting by Numbers” Architecture, which is my take on how Architecture should be handled on an Agile project.

The basic premise is that “The Architect” has the responsibility for overall vision of how the solution should hang together; what its basic composition should be, what the outline is, and what attributes it has; but this view is of a very low fidelity; much like the outline of a “paint by numbers” picture. It’s then the team’s job to fill in the segments, iteration by iteration – in whatever colour, hue or order they decide upon; they are free to improvise within that segment.

I’ve been thinking about writing an exhaustive post on the subject for months, but then last week I watched Dave McKean and Neil Gaiman’s extraordinary film MirrorMask. The DVD is packed full of great extras, but there was one that grabbed my attention; a blurry video of a conference Q&A session with the audience, where someone asks Mr McKean about his experiences doing the spectacular Computer Graphics work for the film. The response was fantastic and is pretty much a crystallisation of my thoughts on the “paint by numbers” scenario. I paraphrase his response below:

In the studio shooting, it was a nightmare, none of the computers would talk to each other; none of them knew each other or were interested in talking to each other at all.

 

So I hired a small team, just 15 people and they did the whole film; they were all kids, fresh out of art school, for almost all of them this was the first job they’d ever done. I thought if I was in their situation, I wouldn’t want a usual CG job, which is “you get to do the bubbles” or “you get to do one tiny bit of texture on something”, it’s so de-compartmentalised you’re a bit of a cog in a machine. I thought “if I were doing it” I’d want my own scene, like a short film within the whole; so that was the plan, we had a big meeting, talked through the whole film and we divvied up the scenes between us. It worked mostly, some of them were more interested in animation, some of them were more interested in set-building and texture mapping and things like that, so it crossed over a bit, but generally they got to do their scene.

 

I designed things, but I didn’t really want to nail everything because I wanted to know what they wanted to do, what their input would be; it was the best of collaboration really, they all got excited by the fact that they would be represented in the film properly; when it got to their section they could say “hey, I did this bit”.

 

They all came up with wonderful ideas, which expanded from the script in all directions – I always had backup plans in case we ran into problems, of how I knew we could do it, but we almost never needed them. Almost everybody came up with ideas and ways to amplify and exaggerate and elaborate on the ideas and make it bigger and better – it was terrific.

 

I was there really to keep everything having “my line” as it were, so it looked like I drew it, and I did all the texture maps for the film, because I feel like that’s where my colours and textures really come into it, so I did all that, and then I composited the whole film.

About the author

Howard spent 10 years as a technology consultant helping some of the UK's best known organisations work smarter, before founding endjin in 2010. He's a Microsoft ScaleUp Mentor, and a Microsoft Azure MVP. You can follow him on Twitter via @HowardvRooijen