Wednesday, 22 October 2008

Change of Address


You'd think this would be about the most common, basic business process anyone could implement. Not so.

I remember this the last time I moved house, in about 1990. Just about every company's systems screwed it up. I was giving a talk at that time about business systems, and used it as an example.

It hasn't got much better. Barclays happily assigned me to a non-existent postcode, although postcode validation software is part of their standard platform. The ususal crop of people changed my name to "Micheal", which I detest. Npower got the postcode right, so their letter reached me, despite being randomly addressed to Kirkintilloch in Scotland. I phoned them - it's a problem with their system.

Lots of people also seem to think I live in Surrey. I'm fairly sure I don't. But I would welcome clarification from anyone who works in Surrey local government...

A more subtle point: just about nobody can distinguish between (a) me moving house and (b) me correcting an error in the address they've got for me. Both are just described on their system as "change address" - updating their address field.

Why does it matter?

Because it affects things like how often they think I've moved house, how long they think I've been at this address, and what my previous address was.

The bug is caused by thinking about system functionality, rather than business requirements. Properly done "use case" analysis would distinguish.

I'm not being theoretical: this has actually happened to me twice. Once I corrected a typo in my address on my car registration document. This was taken as a change of owner, and increased the "number of previous owners" shown on the document from 1 to 2. Which could affect the value of the car. It took a series of letters to get that fixed.

Then, a couple of days ago, someone at Barclays asked me, as a security validation question, what my previous address was before I moved. I of course gave the address in Hampshire. Wrong! I'd corrected the error in my new postcode a few days ago, so my "previous address" on their system was the same as my current address except with a typo in it. They no longer had a record of my real previous address, or the real date I'd moved house. All their data was wrong. So their security check didn't work. I pointed out that they'd got current and previous address the same, and the baffled clerk had to admit this was so, and used a different security check. . . . I guess if it was an automated system, that wouldn't work.

So: system designers and business analysts, please note the difference between a change of data, and correcting an error in data. And please validate your postcodes.