Recent Articles
May 17, 2010
To a man1 with a hammer, everything looks like a nail. A well-worn phrase used to alert us to the dangers of getting so caught up with one product or technology that, whatever the problem we are trying to solve, our answer is always to use it. On the surface it seems like good advice. You wouldn't want to artificially restrain your efforts by choosing a completely inappropriate technology, would you?
But how would you know? Delivering good software is never easy. If it was people like me wouldn't get to piss and moan on the internet about how hard our lives are.
For example, let's say yo ... [more]
November 3, 2009
About four years ago I sat in a meeting that had finished early. We were chatting away and the subject turned, as it always does, to the lamentable state of IT. In the preceding weeks I'd asked finance to run me off a number of reports showing just what we were spending on various aspects of our integration architecture. They made pretty scary reading. Wherever we had invested significant funds to improve and mature our infrastructure we were now spending significantly more and taking longer per-project even for minor changes. So this wasn't one of those daily, common-or-garden, grumbles abo ... [more]
August 29, 2009
In the technology justice system, the people are represented by two separate yet equally important groups: the architects who investigate standards and the developers who commit the offences. These are their stories.
<doink doink>
INT. COURTROOM - MORNING
The case before us has troubled me deeply over recent years. It's a question that periodically pops up in various online forums and one which often invites heated debate - probably why it never seems to achieve any sense of resolution.
My serious and honest question is this:
Has the experiment failed? Is it time t ... [more]
July 25, 2009
It's intervention time. You know on TV, whenever they show a meeting of alcoholics/gamblers/narcotics anonymous, the first thing a member has to state before they get to address the group is "Hello. My Name is name and I'm a whatever"? Admitting you are a whatever is step one of the so-called twelve step program. It's powerful because, regardless of the story or anecdote that follows, you must begin by facing the reality of things. No excuses. You may have just had a great week but there's no resting on your laurels because you're still a whatever. You must never forget that because to ... [more]
June 19, 2009
A common anti-pattern in distributed systems design comes about because of the belief that scale is easily achieved by making all communication asynchronous. And to be fair, there is some logic to why this misconception occurs. If you take the real-life analogy of making a phone call as a synchronous option for communication, with sending a letter as its asynchronous counterpart, then you can more efficiently increase a team's workload (assuming the team performs simple, repetitive, tasks), in proportion to increases in its size, if they spend all day banging out letters rather than dialling n ... [more]
May 5, 2009
This short series started with Planning the Plan, an article that tried to put into context some of the roadmap and planning activities that take place before projects get approved and started. I suggested using the McFarlan Matrix as a way of categorising potential projects so that they might be more likely to deliver benefits in line with whatever the business strategy is for that year. There are plenty of good ways of doing this, but the McFarlan Matrix is simple and quick, and forces conversations about what good looks like for the coming 12 months of f ... [more]
April 5, 2009
In trying to put down some words on project estimation I've had to come to terms with an internal contradiction which I guess goes all the way back to the origins of software engineering. Logic tells me that because the ultimate goal of a software project is a series of machine instructions that perform some useful task, and because at the lowest level these are almost wholly predictable in their nature (strange microcode bugs notwithstanding, although these are far more rare than they used to be), and because enough analysis should empirically capture precisely what this useful task looks ... [more]
March 8, 2009
You've been assigned to a project. The requirements are well understood and they make sense. The team is capable and the project manager reasonable. The one thing you don't have, because we never do, is time. This is a project with a David Beckham date.
The David Beckham date is a term I use for an immoveable launch target. I once worked on a project where David Beckham had been booked to do the release publicity. That pretty much fixes when you need to be done. Firstly, he isn't going to be able re-arrange international football fixtures to accommodate a project slippage and second he's no ... [more]