Tuesday, April 2, 2013

B is for Business needs

The purpose of software is to be useful to the people who use it.

Right?

So why is there so much crap out there?

All too often, software is designed with only minimal reference to the people actually using it. Worse still, a lot of software seems designed more for the aggrandizement of the writers than the use of the users - look how cool this feature is!

The point of software is not to show off how technically gifted you are. You can show me that by giving me something that does what I need it to do, reliably, without fuss, and without expecting me to know how it works.

And how can you possibly know what I need, unless you ask me?

The traditional software development lifecycle kicks off with Business Requirements. Good start! But gathering requirements isn't just about ticking off boxes full of dry jargon. To make software really useful, you need to dig beyond requirements. Requirements are what ivory tower dwellers say they need. A whole world apart from what the business, and the people in it, really need.

You need to dig. Keep probing. Keep asking "Why?" Ask at all levels, not just the bosses They don't have a clue. Sit with the people doing the job. Walk a mile in their shoes. See the world through their eyes.

For example, "The Requirements" might state that an order entry clerk needs access to a list of inventory. Great. Got enough to design the system? Off you go, then. You give them a spanking new screen that lays out the entire company's inventory any which way you can think of. By product category, by warehouse, search by name, by price, by color ... You spent days on it. You are proud of your job.

And the order entry clerks hate it.

"Why?" you ask them, "how unreasonable can you get? I put all this blood, sweat, and tears into this screen and you ungrateful chimps just don't appreciate the heartbreaking genius that went into it, with its predictive auto-completion and intelligent history-based searches."

"But," they say, "I already know the product number, I just need to see which is the nearest warehouse that has it in stock ... and I need to do that from within the order screen where I've already filled out half the order."

Oops. You didn't know that because you didn't talk to them about what they need.

The moment you catch yourself thinking, "Wow, everyone will love this new feature!" ... beware!

13 comments:

  1. Can I hit the people who custom designed our shopping cart software over the head with this post? Repeatedly? Please? This is so very, very true.

    ReplyDelete
  2. That was the common lament everytime they tweaked our systems, added a new one, or dumped everything and started again. No one talked to the drones. How I wish they had you as head of our IT team. We might have had half a chance.

    ReplyDelete
  3. Great insight here. I've experienced a lot of software changes in my job and some of the systems are so UN-user friendly it's ridiculous. Designing a good system is definitely about listening to the users.

    ReplyDelete
  4. Hi Ian .. I've tested software .. and just know it's something I don't understand. I just want it to work .. but I accept sometimes - I can work a way round ... and as long as I'm not inconvenienced too much- it's ok. Too much flash and choices are not always good ..

    Cheers Hilary

    ReplyDelete
  5. Like many things, the fanciest ideas on paper might be totally impractical in the real world.

    ReplyDelete
  6. Part of my requirements gathering is reviewing how they (the users) are currently utilizing what they have in place which will be replaced by the new software, whether it's a manual procedure or an old legacy system. Meeting with the bosses is a waste of time unless you're discussing deadlines and/or costs.

    The people who will use the new system should be involved in every step of the way. But, I'm speaking from an in-house development perspective.

    The biggest compliment from a user is "I got my work done, processed all the members. It was fun."

    When business software is "fun" to use, you've done your job well. :)

    ReplyDelete
  7. Oh yeah. My business has recently gone through not one, but two, but three nightmares because the programs we paid top dollar for didn't work as promised or didn't otherwise suit our needs. >_<

    ReplyDelete
  8. Ah, yes, then there is government software. We are asked nothing, and given absolute dog doo doo with which to to the people's business.

    ReplyDelete
  9. Scots Lass, risky is right :)

    Jean, be my guest, as long as no permanent injury results!

    Delores, I feel your pain!

    Shell, users are key, I'm glad you only said "some".

    Hilary, I just want it to work! How true. Why is it so difficult?

    ReplyDelete
  10. Nick, that's true, too. The trick is to understand when something's not working and to do something about it.

    Diane, sounds like you are on the right track. Odd you should mention "fun", I have a post planned for next week that says something similar.

    Misha, sorry to hear that. Sounds like this is a more familiar story than I'd ever imagined.

    Joanne, my lips are sealed :)

    ReplyDelete
  11. A friend and I are thinking of opening up a business. It's exhausting just figuring out how to go about it and what we will need.

    Hugs!

    Valerie

    ReplyDelete
  12. Haven't had to deal with stupid software, but I've had more than my fair share of bad Credit Card Processors for my business.

    ReplyDelete

I love comments. Please feel free to join in the discussion.

I also try to respond to comments. I usually do so during the early evening (Pacific time) which may be many hours away from now!

So if you leave a comment and return some time later and I haven't responded yet, please don't think I'm ignoring you. I'm not. Honest.

Related Posts Plugin for WordPress, Blogger...