Tuesday, January 27, 2009

IT Development & the Tory Proposal

Today's announcement by the Tory party on the capping of expenditure for IT projects and reviewing the way they are run is good news for some, including those consultants who've made a living out of plugging the ISO 9000 standards for systems documentation.

I'm all for this proposal by the Opposition, for the sake of future generations we're going to need some Agile thinking to reduce the burden of debt left by the incumbent spendthrifts.

Government projects are great at delivering 2,000 page documents that describe, in somewhat eye-watering detail, what the system is supposed to deliver. Apart from creating a physical hazard for those designated to carry these tomes around, or those unlucky enough to trip over 4 inches of high quality paper left lying in a corridor, this type of document does little to deliver a quality system. Studies claim that delivering this type of traditional requirements only 25% of the specified features are used frequently, and the rest of the system is used either infrequently or not at all.

The basic problem is that it's very difficult to write down in unambiguous detail how someone is going to interact with a system. You often find that words don't work well and even the best pictures only tell part of the story. Developing software is a creative process, more like creating a piece of art or writing a novel or poetry. There's a great deal of skill and craft involved in asking the right questions, capturing the, sometimes non-obvious, interactions between the people in their various roles and their use of the system.

An example of this interaction is the beloved ATM, as told by a friend of mine who's done this before. Ever noticed that when you go to the machine and take out cash, you get your card back first? Think about what would happen if the cash came out first? What are the chances you would take the cash and leave the card behind in the machine? Pretty high right? Think about how many times you've left a receipt behind when you asked for one to be printed.

Think of building software in the same way that a director takes a great book and turns it into a movie, or perhaps a long running TV drama. The written word does not translate well to the visual. You can't always reflect the nuances of a character, nor can you burden the viewer with the drudgery of a narrative discussing how tortured the hero of our story is. A good director is sympathetic to the original text but savvy enough to make it work in the visual world. There needs to be compromises made along the way that allow those who've read the book to feel that the story is a fulfilling realisation of the story. Compare the film Pride and Prejudice with the book; a reasonably good rendition of a great book. On the other side, think about Frank Herbert's Dune. A great book scared by David Lynch's bizarre and poor interpretation.

A big issue that faces software development is that managers believe you can take engineering project management disciplines and apply them to developing software. This is the traditional "deliver it by this date" approach. Sponsors want detailed estimates that go out for months and years in advance. They want certainty that your plan will deliver what you said, when you said and then they flog you when it all goes wrong at delivery. Time and time again the waterfall approach of extended analysis, design, development and testing fails to deliver the goods.

The reason for this is that building software is completely unlike building a house or office block, yet we in the projects industry still try and pretend that we can apply the same rules.

Firstly, people have built houses for about 10,000 years so there's an agreed set of steps that you need to take. To build a decent sized house, you need a foundation, or it falls down. You need properly supported walls, or it falls down. You need a good roof or you get wet in the winter, and then it falls down. And so the list goes on.

For tall buildings, it's a little more complicated and cost overruns occur because the wrong things happen at the wrong time. For example, you want the electricians to cable up a floor and this needs to be done before the dry rising is installed. If someone decides to install the dry-rising first, then the management contractor will then need to sort out who did what in the wrong sequence and deal with it. The upside is that without the electrics, you can't use the building. The contrast with software is that we try to pretend that delivery 0.1 that doesn't have any electricity is useful. At this point the battle's lost.

One of the big differences with buildings is that until the entire house or floor is fitted out it's difficult to use it. With software, you should deliver working components along the way that are ready for use; this also allows both the developers and business users to ensure that what's delivered meets the specification. If not, and you should discover this long before you reach the test driven UAT (User Acceptance Testing) stage, then you need to decide if you're going to fix it in the current cycle or defer it to the next one if it's too much work.

This might sound easy but it's not. Developers always underestimate how much they will deliver and business users also overestimate what they're going to get. A smart and agile project manager will ensure that both sides expectations are met.

Sunday, January 25, 2009

Hubris

Gordon Brown's amazing ability to not answer questions is starting to look like he's hiding something. If you've the stomach for it, spend a half hour wading through the latest version from last week at PM Questions

At about 4 minutes in, he's promising jobs for people who lose them. Let's put this in context.

Say I've brought home a box with six cakes inside. I've not made them myself, they're extracted from my hard earned salary. Now that I've eaten a cake from a box it's gone; putting back the empty wrapper doesn't replace it, nor does it make it look like there are still six cakes in the box. In order to replace the cake, I'm going to need to make another. Without the basic ingredients, such as a manufacturing base that's run by the private sector and generating more cakes, I'm not going to be able to do so. The biggest problem is that it's not just me who wants more cakes, there are at least 50 other people looking for them. As the country loses the ability to make cakes there are fewer available and still more people looking for them. That will be around 3.5 million people looking for new cakes this time next year. Not something that this country will want to see.

On the extension of lending; Gordon's very confused on what he's asking our banks to do. He's saying "keep up the 2007 levels" but wants them to fill the 1/3rd gap left behind without specifying how we, the tax payer, are going to cover this. He also acknowledges that those Johnny Foreigner's who lent too much and now left the country are gone. So what's it going to be Gordon? Are our banks lending at 2007 levels? Probably. Can they plug the gaps of the others? No. Are there any details in the plans to solve the problems? According to Gordon, it requires additional consultation with the banks involved. In summary then, Gordon, you don't have a clue, do you?

In one fell swoop, Gordon's scared the pants off the market by stating that he has a solution to the problem without knowing what exactly is the problem. No wonder the UK stock market is crashing around our ears.

Finally, the Rt Hon. D Skinner's Tory Fat Cats jibe is priceless. Remind me, who is Sir Fred Goodwin again? That's right, he's Scottish banker who knows the current PM as well being on chummy terms with both the former PM and Chancellor and was knighted by Labour for "services to banking".

Hubris indeed.

Sunday, January 4, 2009

Where are our Liberties?

Imagine living in a country where your civil rights are restricted by the people running the country. One where political opponents get arrested for asking questions. One where obeisance to the party is the primary rule and speaking out against it will cost you your job. One where the ruling party continually reprint their latest version of the truth.

Yes, that's right you're living in the United Kingdom.

Mind you, 33 years ago in Australia the Governor General, being the representative of Her Majesty Queen Elizabeth II, sacked the incumbent Prime Minister, one Gough Whitlam.

I remember watching on TV as Gough Whitlam (Labour) stood on the steps of the Australian Parliament House in Canberra uttering the words "We may well say 'God save the Queen', because nothing will save the Governor General". The ABC article below highlights the problem; here was a Prime Minister who had lost the trust of his nation; the coffers were rapidly emptying because the Liberal/Conservative dominated Senate refused to approve the spending of money following a scandalous attempt to borrow USD 4 billion (quite a lot in 1975). In steps Her Majesty's representative, John Kerr, who Whitlam asked to dissolve half the Senate to resolve the problem. Instead, Whitlam ended up sacked and delivered his famous quote (YouTube clip below).

In the current crisis, where we have a Labour leader who, formerly as Chancellor and now as PM, is leading this country into Banana Republic territory and denying that any of it is his fault. He criticises those who point out that the economy is bad, looking to blame the nay-sayers as the news worsens every day. He simply fails to realise that when the IMF is mentioned that that organisation is THE lender of last resort and that he will need to speak to them when other countries and investors are unable or unwilling to buy the debt his government needs to issue to fund this countries problems.

I grew up believing that the Governor General had more power than the Queen, mostly based on hearsay. Until now. I've done a little bit of exploring and discovered that most of the Magna Carta is now repealed but unearthed this concept of the "Royal Prerogative".

So, starter for 10, can the Queen Elizabeth II choose to sack a Prime Minister and his government?

The ABC covered the story here.

as a result of a Loan Scandal

In the UK the Queen seems to have the power to do the same.