Showing posts with label software design. Show all posts
Showing posts with label software design. Show all posts

Sunday, 2 June 2019

A trip down Memory Lane is only as pleasant as the memories it conjures up

It wasn’t until I arrived at the hotel where I’m spending the night that I realised that I’d been here before. Not to stay, but to present a piece of software I’d been working on with a team of colleagues. A piece of software that wasn’t quite ready.

Nothing unusual about that. I’ve known exceedingly few software projects that complete on time. I even came up with an addition to the traditional grammar to cover the problem, a new tense I called the ‘future present’. You use when you say something like “the system does this” when what you really mean is “it will do that thing long before the time you slow lot get around to deciding to order it.”

This isn’t a lie. I was firmly convinced that the software would do all we claimed for it and more. Sadly, I’m not certain my audience shared my conviction. Nor did the executives of the company, though many of the colleagues working on the project with me certainly did.

Sadly, both they and I turned out to be cruelly misled. We never completed the project. I had naively believed that the owners of the little company for which I worked were keen on delivering a high-quality system to their clients. In fact, in a perfect illustration of all that the Left denounces in capitalism, they were only interested in maximising the gains they could make by selling the company.

The company’s systems, of which my project was only the latest module, had started off pretty damn smart. But time had passed, technology had progressed, so what had at one time been dynamically innovative had eventually become old-hat, and been overtaken.

What’s more, it suffered from the problem that afflicts a great many ageing systems. It had been tinkered with far more than was good for it. So bits had been added to correct problems or to improve functions, but no one had bothered to document any of those changes or check whether they might, in fact, solve a problem in one area but create a far worse one somewhere else.

By the time I came to work on it, it was a colossal mass of what is technically referred to as spaghetti logic, a maze of interwoven functions which it was beyond the capacity of the human mind ever fully to understand. Somebody wanted a button to be orange over here? No problem. We’d make the necessary changes. And only afterwards would we discover that we could no longer enter a date over there.

Fixing all this was a huge task that would have involved the company owners in a considerable investment, and a delay in realising their capital by selling their shares to someone else.

The far simpler solution was to fire a whole bunch of us and sell the company as it was, with its products as they were. Of course, they didn’t call it firing. We were made redundant but, believe me, anyone who’s been made redundant knows that it doesn’t feel any different from being fired.

You’d think that a company with a piece of software that really didn’t work any more wouldn’t fetch a high price. You’d be wrong. The executives of bigger companies like nothing more than buying smaller ones. It gives them the sense of having far bigger external genitals than the people around them. I think that’s even true of the female executives, despite the obvious biological problem that their genitals are internal. Don’t ask me to explain.

So the executives of the company that had just fired me and my colleagues sold it for a princely sum, making themselves really quite wealthy. That included the laziest executive I’ve ever come across, a man capable of disappearing for weeks at a time and doing nothing useful even when he returned, who actually made more money than anyone because he held the most shares.

The software module I was working on disappeared without trace. As far as I know, no part of the company’s software is still in use anywhere. But a few people made a lot of money while a few others lost their jobs.


Glorious setting for a hotel
Still. The hotel’s in a great location. And I’m happy with my comfortable room.

Thursday, 14 June 2012

Fairies and software users: not the same stories

It’s wonderful that, however long you spend in the world of software development, it never runs out of new lessons to teach you.

This is a particularly salutary lesson given that only yesterday I managed to get caught up in a twitter dialogue about which field of study mattered most, the humanities or information technology. Well, I can now positively assert that the two aren’t necessarily incompatible.

As I learned this week, it seems that in the ‘agile’ method of software design, a key component is the ‘user story’. Now, at the prosaic level of day-to-day reality, this is just a description of how people would use the application you
re trying to build, and for what purpose. But today I’m in the San Francisco Bay Area and that has always been a bit of a special place, somehow at one remove from ordinary reality.

In an office with a view over the Bay, awash with sunshine under clear blue skies, I found it hard not to let my mind drift into idle musings over the words themselves. A user story, I found myself pondering, really ought to start with the words ‘once upon a time’. The first figure on the scene might be a young man in pursuit of his fortune, his belongings in a handkerchief tied to a stick over one shoulder, his cat over the other, on his way – his agile way, with a bounce in his step – towards the big city where he’s heard that the streets are paved with IT resources.

Sadly, I didn’t get far into my story. I’d barely begun to sketch in the innkeeper with his beautiful daughter unmoved by the knights and princes queuing up to pay court to her, who would only have eyes for our hero.

Of course, these days knights are mostly grey-suited rather than shining-armoured, and they are borne aloft not by white chargers but by questionable careers in finance or politics, if not both. Princes, meanwhile, are slightly outlandish balding divorcees in their sixties with reactionary views on every subject from architecture to zoology. It’s no wonder that an innkeeper’s daughter worth her salt would see no merit in any of them.

But I couldn’t pursue this rich vein of narrative invention long before being dragged back to a much duller reality. I found myself discussing data fields and function buttons, rather than field mice coachmen or magic wands, and I was forced into the realisation that a user story isn’t necessarily the same thing as a fairy tale.



Not to be confused with a user story


Hey ho. Still, it’s been a good week so far, and I hope we’ll have broken the back of the work before I leave the California sunshine to return to the cheerful grey and invigorating rain back home.

If we do, I’ll feel we’ll have achieved a happy ending. We’ll all live happily ever after. Or at least until the start of the next project.