September 25, 2007

...Learn TDD with Codemanship

I'm a Born-Again Architect

Last year, I told everybody that I'd stopped calling myself an architect. This was partly because the title has definite ivory tower connotations, but mostly because I no longer had any - even vague - idea what an "architect" was supposed to do.

I firmly believe in evolutionary design as the best way to solve complex problems - the kinds of problems software has to solve these days. But if the best designs emerge through successive iterarions of trial and error, what need of some bloke with a shiny cape and big pointy hat who calls himself an "architect"?

Well, guess what? I've changed my mind.

Well, actually, strictly speaking, I haven't. I still 110% believe in evolutionary design and that the best designs emerge through an iterative, feedback-driven process of self-organisation. And I absolutely 310%* believe that an architect is not someone who "does the design". The design happens through a complex interplay between stakeholders, constrained by tests so that we can be more sure that it's going to be fit for purpose.

That's all as plain as can be, as far as I'm concerned.

But I do believe there is a very important role that can be played by someone who has a deeper understanding of software design. And that is to give timely, objective feedback on the design quality of the code that's emerging.

I believe that an architect is a kind of tester. And I'm therefore re-adopting the title in this new vein.

I am a new architect. Behold, I am reborn!

Now where did I leave the keys to my ivory tower..?

* My maths was never that good
Posted 13 years, 9 months ago on September 25, 2007