Reminder: Software Development Is Not Easy

One of my consulting clients has often complained that the applications the business uses aren't bullet proof. Given the amount of money this organisation spends on IT, it's their view that application bugs are unacceptable.

Desk picture from Shutterstock

I freely admit that in a utopian world software bugs would never hit production but the trouble is that we expect a lot from our software developers. They need to anticipate the actions of every user (who may or may not follow directions well), trap every possible error and anticipate every possible action. What many people fail to realise is that software development can be an extraordinarily complex business.

Here's a good case in point. Over at the Sophos Naked Security blog, Paul Ducklin goes through a detailed analysis of how a long-missed bug cost online currency business Bitcoin, about 25 per cent of its value. Ironically, it wasn't the bug that cost money but the fix that was subsequently introduced.

As Ducklin says: "The moral of the story is: test, test and test again".

Anatomy of a problem - Bitcoin loses 25% in value due to a long-missed bug [Naked Security]


Comments

    Pictured: after spending hours trying to figure out why his application was causing a black screen bug, James finally realised his monitor wasn't plugged in.

      It's not a bug. It's a feature for users that are sleeping.

    Every job has it's unique challenges. Are you going to post an article about the specifics of waste removal and why it's hard to keep quit at 4AM whilst picking up everyone's rubbish?

    In my experience, the biggest issue businesses have with their software developers is that they believe they aren't receiving the product the two parties agreed on at the start.
    It's as much a PR issue as it is a software development issue.
    Whether this is down to the software developer biting off more than they can chew, or the customer ordering X whilst expecting to get Y and then receiving X.

    Either way, can we have this article next Friday - 'Reminder: Your IT Technician doesn't get paid to think for you!'

    Haha, tell me about it. I love programming, I love problem solving and I love looking back at something I've written and feel like a God. But... there are times where it can really get to you. Really, really badly. But I suppose that's unlike any other job huh...

    I would have to say my greatest pet hate is that most clients expect flawless software in unrealistic time periods.... They simply don't understand good software takes time..... However my boss did show me this when I started.

    http://www.youtube.com/watch?v=1lqxORnQARw

    No, no, no. Absolute garbage. Software development is childsplay. Delivering products in a form and to a schedule that pleases clients - that's the hard part. That's why we pay code monkeys so little they can't afford anti-perspirants, and BAs so much, it would be literally cheaper to buy their weight in gold.

    "They need to anticipate the actions of every user (who may or may not follow directions well), trap every possible error and anticipate every possible action" - If you as a coder has the job of outlining and data modelling the tasks of the users, which the IT system needs to support, aswell as figuring out possible actions of the user, AND possibly testing it - No suprise that your system is filled with bugs and the users at your company are unhappy. If you don't hire a person to actually investigate user environment and actions, you design and code in blind and by guesswork. If all this is your job, danm i understand your frustration :-/ !

Join the discussion!

Trending Stories Right Now