Monthly Archives: August 2010

21st Century Schizoid Man

My good friend and sometime manager, Mike Rawlins, has just started a new blog ruminating on leadership. In his first post, he discusses the question of how to decide what to do, to “do the right thing”.

Now I’m not sure whether his guidance on decision making process is generic, or whether that process depends on your organisational position and role in determining “the right thing”.  I don’t know whether the key difference in our perspectives is between leadership as a manager versus leadership as an influencer, or the difference between managerial and technical leadership, or the difference between synthesising solutions and deciding which to adopt, but Mike’s article portrays a very different perspective to mine.

Mike portrays as key the ability to focus on key issues, and exclude those which are “not relevant”.

In my experience as an architect and technical leader, I spend a lot of time understanding and analysing the different forces on a problem. These design forces may be technical, or human: financial, commercial or political. The challenge is to find a solution which best balances all the design forces, which if possible satisfies the requirements of all stakeholders. It is usually wrong and ultimately counter-productive to simply ignore some of the stakeholders or requirements as “less important” – any stakeholder (and by stakeholders I mean all those involved, not just senior managers) can derail a project if not happy.

Where design forces are either aligned or orthogonal, there is usually a “sweet spot” which strikes an acceptable balance. The problem effectively becomes one of performing a multi-dimensional linear analysis, and then articulating the solution.

However, sometimes the forces act in direct opposition. A good example, currently personally relevant, is system security, where requirements for broad, easy access directly conflict with those for high security. In these cases the architect has to invest heavily in his skills in diplomacy – to invest a lot of time understanding stakeholder positions. One common problem is “requirements” expressed as solutions, which usually hide an underlying concern which can be met many ways, once understood.

In cases of diametrically opposed requirements, there are usually three options:

  1. Compromise – find an intermediate position acceptable to both. This may work, but it may be unacceptable to both, or it may fatally compromise the architecture.
  2. Allow one requirement to dominate. This has to be a senior level business decision. As an architect, you then have to be sensitive to whether the outcome is genuinely accepted and viable, or whether suppressing the other requirements will cause the solution to fail.
  3. Reformulate the problem to remove or reduce the conflict. In the security example the architect may come up with a cunning partitioning of the system which allows access to different elements under different security rules.

Of course, you can’t resolve all the problems at once – that way lies madness. An architect uses techniques like layered or modular structures, and multiple views of the architecture to “separate concerns”. These are powerful tools to manage the problem’s complexity.

It’s also important to remember that the architecture, and its resolution of the various design forces (i.e. how it meets various stakeholder needs) have to be communicated to many who are not technical experts. The technical leader must take much of this responsibility. I have had great success with single-topic briefing papers, which describe aspects like security in business terms, and which are short and focused enough to encourage the readers to also consider their concerns separately.

One area where I do agree with Mike is the need to listen to the voice inside, and carry decisions through with integrity. For an architect, the question is whether the architecture is elegant, and will deliver an adequately efficient, reliable and flexible solution. If your internal answer to this is not an honest “yes”, you need to understand why not, and decide whether you and your users can live with the compromises.

And finally, the architect must protect the integrity of the solution against the slings and arrows of outrageous projects. Monitor in particular those design aspects which reflect compromises between design forces, because they will inevitably come under renewed pressure over time. You have to not only do the right thing, but ensure it is done right.

Non-Sequiteur

About the weird title: Mike is attempting to create his blog based largely on 1970s Prog Rock references. As a tribute to such an excellent idea, I feel compelled to join in (at least on this occasion)!

Posted in Agile & Architecture, Thoughts on the World | 1 Comment

I Don’t Want to Sound Complainin’

View from the end of Wollestraat, Bruges, at sunset
Camera: Canon EOS 7D | Lens: EF-S17-85mm f/4-5.6 IS USM | Date: 20-08-2010 20:57 | ISO: 1600 | Exp. bias: -5/3 EV | Exp. Time: 1/4s | Aperture: 5.0 | Focal Length: 17.0mm (~27.5mm) | Lens: Canon EF-S 17-85mm f4-5.6 IS USM

After writing “What I Want From My Next DSLR” I finally bit the bullet and upgraded my two DSLRs. While they are basically superb cameras, one, my new Canon 7D, is badly let down by some very poor ergonomics. This article describes my findings so far, what the cameras do well, and the things about the 7D I really don’t like!

Read the full articleView featured image in Album
Posted in Photography, Reviews | Tagged | 1 Comment

Memo to Car Museum Curators – Give Them Space

The Motor Museum in Turin gives cars something rather unusual: space. This is the entrance hall, featuring a FIAT concept eco-car.
Camera: Canon EOS 40D | Date: 20-08-2009 10:28 | ISO: 200 | Exp. Time: 1/100s | Aperture: 11.0 | Focal Length: 17.0mm (~27.6mm) | Lens: Canon EF-S 17-85mm f4-5.6 IS USM

There are lots of great car museums in the world, and I’ve visited more than a few. However, the majority are difficult or impossible to photograph, unless you’re a “down in the details” sort of photographer, which I’m definitely not.

The honourable exception is the Museo Dell’Automobile “Carlo Biscaretti Di Ruffia” in Turin, Italy. Here the curators have given the cars something they almost never have in other museums: space. The result is a beautifully lit environment for the equally beautiful exhibits, and when I visited last year I managed to make several images I’m very happy with. Visit my portfolio, and see whether you agree.

(PS – according to their website, the Museo Dell’Automobile is currently closed for restoration works, so please check the website before you visit.)

View featured image in Album
Posted in Photography | Leave a comment

Integrating External Content with WordPress

I’ve been developing andrewj.com for about 15 years, and although I’m not that prolific I’ve built up quite a lot of content.

I recently converted my blog from an old bespoke (= “custom”, for my American friends) solution to one based on WordPress. However, this created a problem, in that the WordPress model is to hold all content in the database, and that wasn’t the right model for me.

Firstly, I have a number of articles which are very long for a blog post, and I had no interest in restructuring them. I also didn’t want to break external links to the existing articles.

Next, I decided that I wanted the freedom to continue to write in that style. Some of my writing takes several weeks, and it works for me to draft it as separate HTML pages. I also sometimes want to include active content or multiple images, and I don’t want to create a large and unwieldy WordPress database full of such stuff.

Finally, my online photo galleries are managed and generated using Jalbum, and I wanted to find a way of neatly integrating single images into my blog, complete with the watermarks and metadata extraction which Jalbum manages so well, without duplicating that functionality in WordPress.

This is probably typical of many older web sites, but WordPress doesn’t really embrace the integration of external content. This article describes how I solved this problem, and a WordPress plugin I have developed to make my solution reusable.

Read the full article
Posted in Code & Development, My Publications, Website & Blog | Leave a comment