Welcome to the Agile Architect Website!

Bringing Agility to Architecture, and Architecture to Agility

Agile Architect Articles

Channel Hopping Mad!

Why are digital radio and TV such exemplars of a bad user experience? In the good old days of a small number of analogue broadcast channels, watching TV or listening to the radio was a rewardingly simple process. To watch, … Continue reading

Why REST Doesn’t Make Life More Rest-full

As I have observed before, IT as a field is highly driven by both fashion and received wisdom, and it can be difficult to challenge the commonly accepted position. In the current world it is barely more politically acceptable to … Continue reading

The Architect’s USP

Very early on in any course in marketing or economics you will encounter the concept of the "Unique Selling Proposition", the USP, that factor which differentiates a given product or service from its competitors. It’s "what you have that competitors … Continue reading

Testing vs Modelling, Detection vs Prediction, Hope vs Knowledge

The Challenge I often hear a statement which worries me, especially but not exclusively in agile projects, along the lines of “we’ll make sure it works when we test it later”. Now you may think this is an odd view … Continue reading

Does Agile Miss The Point About Engineering?

A former colleague, Neil Schiller, recently wrote an excellent article, https://www.linkedin.com/pulse/agile-data-programmes-neil-schiller/, on the challenge of using agile approaches in data-centric programmes. In it, he referenced and reviewed a classic cartoon by Henrik Kniberg which is often used to promote the … Continue reading

Architecture Lessons from a Watch Collection

I recently started a watch collection. To be different, to control costs and to honour a style which I have long liked, all my watches are hybrid analogue/digital models. Within that constraint, they vary widely in age, cost, manufacturer and … Continue reading

Integration Or Incantation?

I was travelling recently with Virgin Atlantic. I went to check in online, typed in my booking code and selected both our names, clicked "Next", and got an odd error saying that I couldn’t check in. I wondered momentarily if … Continue reading

How Strong Is Your Programming Language?

I write this with slight trepidation as I don’t want to provoke a "religious" discussion. I would appreciate comments focused on the engineering issues I have highlighted. I’m in the middle of learning some new programming tools and languages, and … Continue reading

Why I (Still) Do Programming

It’s an oddity that although I sell most of my time as a senior software architect, and can also afford to purchase software I need, I still spend a lot of time programming, writing code. Twenty-five years ago people a … Continue reading

The Perfect is the Enemy of the Good

The Perfect is the Enemy of the Good. I’m not sure who first explained this to me, but I’m pretty sure it was my school metalwork teacher, Mr Bickle. Physically and vocally he was a cross between Nigel Green and … Continue reading

Software Design Decoded

This is a delightful little book on the perennial topic of how a software architect should think and behave. While that subject seems to attract shorter books, this one is very concise – the main content is just 66 two-page … Continue reading

Form vs Function – a Tail :) of Three Mice

Just in case you think some of my recent posts have been a bit anti-Microsoft, here’s one in which (spoiler alert!) they win! Call me old-fashioned, but I very much prefer using a mouse to a trackpad or its relatives, … Continue reading

The Colour Nazis

Once upon a time, not so long ago, there was a movement obsessed with removing colour, especially those whose skin colour or religious preference was different to their own. This went to great extremes, caused the greatest of all wars, … Continue reading

Microsoft : Busy Fixing What Ain’t Broke

There’s an interesting, but intensely annoying, behaviour by the big software companies, which as far as I’m aware has no parallel in other areas of production for consumer consumption. We’ve all been used, since the mid-20th century, to the concept … Continue reading

Fashion Makes Doing IT Harder

I’m about to start building an expert system. Or maybe I might call it a "knowledge base", or a "rule based system". It’s not an "AI", as at least in its early life it won’t have any self-learning capability, but … Continue reading

Does Your Broadband Beat a Carrier Pigeon?

There’s a famous quote "never underestimate the bandwidth of a station wagon full of tapes bowling down a highway". Musing on this I decided to try and estimate the bandwidth of a carrier pigeon, given modern storage technology. According to … Continue reading

Platform Flexibility – It’s Alive!

The last post, written largely back in November and published just before Christmas suggested that camera manufacturers should focus on opening up their products as development platforms, much as has happened with mobile phones. While I can’t yet report on … Continue reading

Do We Want Product Development, or Platform Flexibility?

There’s been a bit of noise recently in the photography blogosphere relating to how easy it is to make changes to camera software, and why, as a result, it feels like camera manufacturers are flat out not interested in the … Continue reading

SharePoint: Simply C%@p, or Really Complicated C%@p?

There’s a common requirement for professional users of online document management systems. Sometimes you want to have access to a subset of files offline, with the ability to upload changes when you have finished work and are connected again. Genuine … Continue reading

The Software Utility Cycle

There’s a well-known model called the “Hype Cycle”, which plots how technology evolves to the point of general adoption and usefulness. While there are a lot of detail variants, they all boil down to something like the following (courtesy Wikipedia … Continue reading

Can No-One Write A Good Book About Oracle SOA?

I’m frustrated. I’ve just read a couple of good, if somewhat repetitive, design pattern books: one on SOA design with a resolutely platform-neutral stance, and another on architecting for the cloud, with a Microsoft Azure bent but which struck an … Continue reading

Cloud Design Patterns

This is a very useful introduction to key cloud concepts and how common challenges can be met. It’s also a good overview of how Microsoft technologies may fit into these solutions, but avoids becoming so Microsoft-centric that it becomes useless … Continue reading

Things Which Really Bug Me About the Kindle

I  read a lot using the Kindle applications for Android and PC. While there’s a lot which is good about that process there are a number of things which really bug me. Some of these look incredibly simple to resolve, … Continue reading

Service Design Patterns

One of the most influential architecture books of the early 00s was Enterprise Integration Patterns by Gregor Hohpe and Bobby Woolf. That book not only provided far and away the best set of patterns and supporting explanations for designers of … Continue reading

Next Generation SOA

This book sets out to provide a concise overview of the current state of, and best practices for, Service Oriented Architecture. While it may achieve that for some managerial readers, it is simultaneously too general for those with more background, … Continue reading

Efficient Fuzzy Matching at Word Level

I’ve just solved a tricky problem with what I think is quite an elegant solution, and thought it would be interesting to share it. I’m building a system in which I have to process fault data. Sometimes this comes with … Continue reading

Caught by The Law!

Don’t get too excited. Those of you hoping to see me carted off in manacles and an orange jumpsuit will be sadly disappointed… No, the law to which I refer is Moore’s Law, which states effectively, if you need reminding, … Continue reading

Webkit, KitKat and Deadlocks!

I don’t know what provision Dante Alighieri made, but I’m hoping there’s a special corner of Hell reserved for paedophiles, mass murderers and so-called engineers from big software companies who think there might ever be a justification for breaking backwards … Continue reading

My First Android App: Stash-It!

After a couple of months of busy early morning and late night programming, my first Android app has finally been released. Please meet Stash-It! Stash-It! responds to an odd side-effect of the difference between the iOS and Android security models. … Continue reading

What Do I Mean by "Agile Architecture"?

A little while back I was approached by EITA Global, a global provider of on-line training, and we have now agreed that I should present for them a webinar entitled "Agile Architects, and Agile Architecture". The current plan is for … Continue reading

Break Compatibility, Lose Loyalty

For almost 20 years I have been a fan of, and borderline apologist for, Microsoft. One of the main reasons was their focus on software usability, backed up by a visible intention to preserve backwards compatibility wherever possible. While each … Continue reading

Tyranny of the Colour Blind

Musings on why Microsoft are abandoning colour as a dimension for information visualisation Continue reading

Ten Ways to Make Your iPad Work Effectively With Windows

If you’re one of those people who uses loads of Apple products, and is thinking of proposing Steve Jobs for canonisation, then you may be happy with how your iPad works, but if you’re trying to make it work effectively … Continue reading

Enterprise Architecture Conference 2011 Day 3

Well the third day of EAC 2011 came and went. My talk went well. Despite the last minute scheduling change I got a decent audience, and once in front of real listeners managed to find my style and pace again. … Continue reading

No Plan B

Thoughts on the inadequacy of contingency planning on the British transport networks Continue reading

Enterprise Architecture Conference

Halfway through, and this is shaping up to be the best EAC I have attended for a while. I was umming and aahing about whether to attend yesterday’s seminar sessions, and couldn’t make up my mind which to join. In … Continue reading

Practical Enterprise Integration

I’m speaking at the IRM Enterprise Architecture Conference 2011, in London next week. My topic is “Practical Enterprise Integration: Realising the Benefits of a Strong Canonical Architecture”. In the paper I discuss the evolution of an EAI environment at National … Continue reading

The Wrong Orientation?

In an odd confluence, multiple streams of activity have come together to convince me that current IS thinking may be suffering from a bad dose of “the wrong orientation”. My work on data modelling at National Grid, an excellent course … Continue reading

A$$hole Driven Development and Other Anti-Patterns

Musings on antipatterns in development, project management and IT governance Continue reading

Red Roof Reflections

As my “photographic eye” develops, I find I’m noticing much more readily the colour of light, and how it can be modified by things both inside and outside the scene. This shot of St. Nicholas Abbey on Barbados is an … Continue reading

Beauty is Only Skin Deep

I’m currently reading a book called “Beautiful Architecture“. This has at its core the concept that some software structures are inherently elegant, things of beauty as well as great function, like many of our greatest buildings. The trouble is that … Continue reading

Some Good News

I’ve just had a bit of excellent news – my submission for the 2011 Enterprise Architecture Conference in London has been accepted. The provisional title is “Practical Enterprise Integration – Realising the Benefits of a Strong Canonical Architecture” and I’m … Continue reading

The Half Arsed Agile Manifesto

If you’re wondering why agile methods don’t work in your organisation, look no further than this. Very funny, but scarily accurate. In the words of the Tao of Lao-Tsu, “If you want to control something, you must first let it … Continue reading

21st Century Schizoid Man

Ruminations on leadership, and how leadership responsibilities change with your perspective Continue reading

A Parable

Lessons for anyone contemplating a disruptive, rewrite from scratch, change to a software product Continue reading

A Shortage of Analysts?

Bemoaning the systemic failings which are leading to a general lack of good business analysts Continue reading

Paradigm Shift – Clear Memory Now!

Why do we in IT insist on forgetting so much valuable knowledge? Continue reading

The Tevye Scale of Approval

Instead of binary accept/reject assessments, here’s a way for an architect to record his true feelings Continue reading

Enterprise Architecture Conference 2006 – My Paper

A paper on Agile Architecture which brings together many of my ideas for the first time Continue reading

You Need Architects…

Just in case you haven’t already seen it…. Why you need architects, in song and dance. Enjoy! Continue reading

Best Practices in Test Automation

I am looking for one of my clients into how costs can be reduced, or quality increased, by increasing the extent to which testing is automated. As a first step, I am trying to develop a comprehensive list of test … Continue reading

The Agile Architect at EAC 2006

If anyone is interested in hearing more about my views on architecture, and how agile methods apply to the work of the architect, please sign up for the 2006 Enterprise Architecture Conference in London in June. I’m presenting a paper … Continue reading

Who Are the Architects?

How a number of people in different rules contribute to “architecture” Continue reading

An Agile Architecture War Story

I don’t really believe in a common architectural process. As the author of a successful project management book, and recent articles on data architecture methods, I probably shouldn’t say this, but to paraphrase a famous quote, “When I hear ‘process’, … Continue reading

Modelling Data Mapping – A Challenge

Almost all integration projects contain one or more transformations (sometimes called “mappings”) between two different structures holding equivalent data (for example the order tables in the database, and the order XML message). We know how to model the individual static … Continue reading

Metropolis – Where Do You Want To Live Today?

There’s been a lot of talk in recent years about a “city planning” metaphor for Enterprise Architecture development. Pat Helland’s article “Metropolis” in the Microsoft Architecture Journal is a very good example (see my post on this for some key … Continue reading

Review – Enterprise Integration Patterns

I’ve just posted my review of Gregor Hohpe and Bobby Woolfe’s excellent book on Enterprise Integration using messaging, “Enterprise Integration Patterns”. Overall it’s an excellent book, and wiil probably become a “bible” for those involved in the high-level design of … Continue reading

Metropolis – a Metaphor for IT Maturity

I’ve just read an excellent paper by Pat Helland of Microsoft, in which he likens the development of cities and manufacturing in the 19th century to the development of systems and business models now. His conclusion – IT at the … Continue reading

Cirrus Minor – A New Architecture Site

Arnon Rotem-Gal-Oz has set up an interesting new site / blog dedicated to software architecture. Of particular note, he’s trying to put some detail on the architecture “process” which is often negelcted as a single box on the development process … Continue reading

Domain-Specific Languages

There seems to be quite a lot of activity on the “Domain Specific Language” front at the moment. Martin Fowler published “Language Workbenches: The Killer-App for Domain Specific Languages?”, in which he concludes that the common programming pattern of setting … Continue reading

The Fear Premium

In an interesting echo of my last piece (Why Software Isn’t Like Building Construction), Scott Ambler has analysed bureaucratic processes as a response to management fear about what can go wrong in software development. His conclusion is that these processes … Continue reading

Why Software Isn’t Like Building Construction

Many software development and management methods are founded on a basic assumption – that constructing software is rather like building a bridge or a house. Once we’ve “done the design”, actually generating the software ought to be a completely predictable, … Continue reading

Application Development Strategies

I recently attended a day of the Butler Group “Application Development Strategies” Symposium. I’ve just posted a short report on some of the more interesting discussions and presentations. Almost all of the presentations shared a reminder that we still have … Continue reading

Growing a Language

I’ve just read a wonderful paper by Guy L Steele, “Growing a Language“. He argues strongly that programming languages must be “small”, but able to grow. Such a language will have a relatively simple structure, syntactic rules, and a small … Continue reading

Enterprise Integration Patterns

Integration, like other design activities, can benefit from sharing ideas and proven strategies in the form of patterns. An excellent starting point is Gregor Hohpe and Bobby Woolf’s Enterprise Integration Patterns website and book. In my recent work I’ve discovered … Continue reading

I Told You So

In Extensibility Points, Gregor Hohpe describes architecture as a guessing game, trying to understand future changes to a business, and designing a system to cater for those changes. He’s written a good article on types of extensibility and where they … Continue reading

Web Service Challenges

In a recent article, Gregor Hohpe asks “Is SOA Like Drunk Driving?” In our attempts to address the shortcomings of component-based development have we “swung too far” and introduced new problems? One recent experience suggests to me that we may … Continue reading

Enterprise Architecture Design and the Integrated Architecture Framework

I’ve recently been catching up on the Microsoft Architecture Journal. This is an occasional MS publication, which can be downloaded from the .NET Architecture Center. It’s got a lot of good articles, with a software architecture and process focus. Of … Continue reading

Business Flexibility

The business equivalents of expansion capabilities like the spare slots in a desktop PC Continue reading

Architects – Masters of Order and Unorder?

A consideration of how an architect should handle complex or chaotic behaviour, using the Cynefin framework Continue reading

Domain-Specific Modelling Techniques

Some useful Domain-Specific Languages I have developed or discovered Continue reading

Architecture, Design and Engineering

Is IT architecture about “hidden plumbing” or “visible design” delivered to users? Continue reading

Architects Anonymous

A tounge in cheek look at how addictive architecture and design work can be Continue reading

Modeling XML Applications with UML

An excellent book covering an important niche Continue reading

Modelling an Enterprise Data Architecture

A new approach, based on UML, for modelling the real complexity of Enterprise Data Architecture Continue reading

Combining Risk Factors

A simple analytical approach to combine the effects of multiple risk factors Continue reading

Modelling Change in Enterprise IT

Two simple techniques to model change in an enterprise’s IT portfolio over time Continue reading

A Square Peg, and Only Round Holes

Musings on whether an architect can fit neatly anywhere in a traditional IT organisation hierarchy Continue reading

The Changing Role of An IT Architect

How an architect’s role changes over time, and through the project life-cycle Continue reading

Characteristics of a Software Architect

My musings on what makes a good software architect Continue reading

Technical Reference Architecture

“Technical Reference Architecture for Component Based Development and Enterprise Application Integration” by Tim Barrett of ComCor IT Solutions BV is an excellent summary of the characteristics of a strong, flexible, layered and component-based architecture, and the different classes which comprise … Continue reading

The Tao of the Architect

Philippe Kruchten of Rational has taken the Tao of Lao-Tsu, and created a modern translation focussed on the values and attitudes which an architect should adopt. He says many things which are also said on this site, but much more … Continue reading

Articles on Agile Modeling and Architecture

Here’s a list of useful articles by Scott Ambler on either the Agile Modeling or Agile Data web sites. A lot of that material is relevant, but I’ve picked out a few articles which are most relevant to the Agile … Continue reading

Expressive Systems

An excellent and very important book Continue reading

Strategies for Flexibility

My 2001 paper on how to design systems for flexibility Continue reading


Coming Soon

The following articles related specifically to the Agile Architect are currently under development: