Slashdot Mirror


Stop Listening and Start Watching If You Want To Understand User Needs

rsmiller510 writes "It would seem on its face that simply asking your users what they need in an app would be the easiest way to build one, but it turns out it's not quite that simple. People often don't know what they want or need or they can't articulate it in a way that's useful to you. They may say I want Google or Dropbox for the enterprise, but they don't get that developers can be so much more creative than that. And the best way to understand those users' needs is to watch what they do, then use your own skills to build apps to make their working lives better or easier."

17 of 161 comments (clear)

  1. No shit? by grasshoppa · · Score: 5, Insightful

    Sorry, but to anyone who's worked with users in any serious capacity for any length of time, this is kind of obvious. And when I say "Kind Of", I mean "blindingly".

    The best way to make the tools that help your users is to understand their job. Get in there and do it yourself. Only then will you have the knowledge you need to create the tools that will really save them time.

    --
    Mod me down with all of your hatred and your journey towards the dark side will be complete!
    1. Re:No shit? by Fwipp · · Score: 4, Insightful

      Something something Henry Ford, something something faster horse

    2. Re:No shit? by bob_super · · Score: 5, Insightful

      And the worst way is to ask their boss how he thinks they're doing their job. And present the material only to him because "this is not something for the engineers to be deciding".

      Did I mention I want to punch my head of marketing?

    3. Re:No shit? by bluefoxlucid · · Score: 5, Insightful

      Every good management text explains the value of retention. Even hardly-relevant stuff in Kepner-Tregoe's problem solving techniques covers this: solving human resource problems is a good thing because replacing human resources means you made a mistake when hiring someone--a fucking expensive mistake. Now you have to eat the costs of months of settling in, plus general bad productivity, plus the cost of the hiring process (expended human time), plus salary and benefits paid to a worthless employee. Sometimes the mistake is less bad: you can modify their job function and gain something valuable while retaining their organizational experience (which is pretty significant); and sometimes the mistake is elsewhere: something besides "this employee sucks" is affecting their productivity, and correcting that is far less expensive and more valuable than throwing them out and replacing them with someone else who is more tolerant of the problem.

      As for promotion from within, that's a tough one. Peter's Principle says people get promoted on merit and achievement, and cease being promoted once they've reached a level where merit and achievement no longer occur--because they can't function in their newest job. Now you have engineers who think they're smarter than their managers who become managers and still behave like engineers who think they're smarter than their managers... and their engineers. Then they micro-manage like hell and piss off all the engineers, who then work to get promoted up to management because they think they're so much smarter than their managers.

    4. Re:No shit? by mcmonkey · · Score: 4, Insightful

      It really depends. Talking to people is often better. In large user bases that are isolated, this is hard; but when you're doing i.e. department-to-department, you're far better off asking. If you're writing software systems for Accounting and Finance, for example, there's 200 people working there. You want to interface with the Accounting Manager and Finance Manager--who will be doing, in part, exactly what's proscribed here--while also communicating with some of the actual people in these departments. This will get you a much better understanding of requirements than just "Well I don't know a fucking thing about finance, but I watch the finance people bang their heads on this shit a lot so we should do it this way instead! It would be better!"

      What happens often with that scenario is by talking to the people in Finance, the developer ends up thinking he or she has learned something about finance, and can write up requirements which read well and will be accepted by the users, but actually has very little understanding of what the users need and will produce awful software.

      There are a few reasons for this. First, every area of expertise has its jargon. Often jargon is an ordinary word with a different, specific meaning in a certain context. So better to follow someone through their work flow and know you're getting lost or not understanding some steps than to have a description you think you understand.

      Second, something obvious to anyone who has even a 101 intro level of understanding in a field may be completely unexpected to someone outside of that field. When talking to the folks in Finance, there is some basic assumption so elementary they never mention because everyone in finance covered it in day one, but is completely unknown to the developer with no finance background. Talking will almost never solve this issue. They won't think to mention it; the developer won't know what question to ask.

      Third, we relegate tasks to "muscle memory." When describing oft-performed tasks, people invariable miss steps. There are little things that, while vital to successful completion of the process, we forget just because we've done them so many times, they happen without conscious thought. You won't know where these are until you try to replicate results from a procedure someone has described, or if you observe that someone doing the procedure.

      So for someone who doesn't know a fucking thing about finance who is developing a system to be used for finance, there's so much more to be gained by watching the finance people bang their heads than just talk to the finance people. As for the Finance Manager, talking to this person should be strictly reserved to some or all of 1) budget of the project, 2) timeline of the project, 3) availability of the finance people for requirements gathering.

  2. Not really new... by Longjmp · · Score: 4, Insightful

    Don't program what they say, but what they mean.

    --
    There are fewer illiterates than people who can't read.
  3. No question about it, you must watch and learn. by udachny · · Score: 5, Interesting

    When designing systems for my clients I first listen to what they are trying to convey but then I always take a trip to their locations, departments, stores, whatever it is and I just ask to be allowed to be there, to see what they are doing. Some operations are quite intricate, so I have to sit in with a user and have him/her guide me through the processes, sometimes it's enough just to observe what the operations are like to understand problems.

    For example when I started building my retail chain management systems, my background in telecom / banking / insurance / manufacturing / utilities did NOT prepare me for what I observed in retail, in fact it was counter-intuitive and seemed wrong on its face. When an execute order comes to a bank, everything is done in the proper sequence, the transactionality is ensured, etc. In retail that's not the case at all. An order arrives to a store, the boxes can be checked for the products quickly and then pushed to the floor, where the items are placed on the shelves immediately and then they can be sold right away.... but the order may not be in the system yet, so this means the products are NOT in the electronic system and they can already be sold.

    This means you have to be able to handle negative amounts of products, as an example, all the way from the cash registers to the accounting systems and your systems have to be able to deal with all of these weird situations, weird from POV of somebody who is used to strict transactionality in terms of processes.

    Yes, you have to observe people working IRL or you'll have a bunch of preconceived notions that may be totally wrong and your systems won't handle them at all.

  4. ..and the penny drops by netean · · Score: 4, Interesting

    When I did my Degree in HCI 20 years ago, this was the touted as the way to get the best results when building usable, user-centric systems. Sadly in the two decades since, I don't think I've ever come across a system - hardware, software, app, or anything else for that matter, that actually develops this way. Which is a shame because if they had, my elderly mother could have probably been able to use a PC by now, intead of "What you mean I have to move that little arrow thing All the way over there and press what?"

  5. Re:Captain Obvious? by plopez · · Score: 5, Informative

    No. SOP is to hire sales droids who sell something to the customer, vaguely define what the customer says, hand off to requirements gathers who work off of emails and conference calls, architects who have no experience in the industry the user is in who then hand off to the designers who decide the legacy system is an old musty systems and that they need to shiney new tools sets which have just reached the beta release. Then managers hire the best low bid contrators money can buy who a looking to be no more than "butts to bill". And finally QA is bolted on at the end, just as an after thought.

    Hope this helps. Have a nice day.

    --
    putting the 'B' in LGBTQ+
  6. Re:Medical by Nadaka · · Score: 5, Insightful

    Medical software is a medical device and subject to regulation as such. I am in the business of writing that software, and while I as a developer can and would be happy to make things easy and awesome, risk management often determines that "easy" can also be "dangerous". Make the default route too easy and you risk a user accidentally skipping the correct route.

  7. I've got an anecdote by wjcofkc · · Score: 5, Informative

    A few years I was with a company where several hundred users had to use the same database application. It was fairly large, with lots of features and was the golden company standard. The problem was that it was a buggy, crash prone POS that made everyday a nightmare of restarting software in the middle of something important - worst case a full system reboot. It made everyone's lives miserable. The complaints were universal across all users, we were always complaining to management who themselves knew it was crap software. From management our grievances would go to the mysterious developers that no one ever actually saw. They would review our complaints and roll out useless software updates that would sometimes disable important features, or at best make the situation worse. They simply didn't get it because they were so disconnected and segregated from the end users. This went on for years - people quit their jobs over this. One day, without much warning or any explanation as to what it was about, I was called into a focus group with what appeared to be a random sampling of end users. Holy smokes! The mysterious shadowy developers were right there in the room! We spent a couple hours talking with them one-on-one about the issues and the order of priority for what needed fixed. At the end of the meeting, it was agreed that the developers would spend the next week sitting with us at our desks, watching us use the software. They would spend a couple hours with someone at one desk, making notes, observations, actually seeing our problems and the business impact they were having, asking questions, and then select another random person.

    After that week of seeing things first hand, the software was fixed in about a month.

    --
    Brought to you by Carl's Junior.
  8. Asinine Quote by efitton · · Score: 4, Interesting

    Henry Ford lost over 50% of his market share by refusing to listen to his customers, his employees, and his family. Everyone told him that customers wanted different color cars. Ford said any color you want, as long as it's black. And GM ate his lunch. Be condescending to your users at your own risk. Shoot, GNOME seems to pride itself on doing the opposite of what users want and that is working out so well for them.

    1. Re:Asinine Quote by Anonymous Coward · · Score: 5, Informative

      Henry Ford lost over 50% of his market share by refusing to listen to his customers, his employees, and his family. Everyone told him that customers wanted different color cars. Ford said any color you want, as long as it's black. And GM ate his lunch.

      Not entirely accurate. Ford had made cars in different colors, but when he put his focus on the Model T, an automobile inexpensive enough for working people to buy, the paint drying time slowed down the assembly and shipping process. There was only one paint that would dry fast enough to keep the production going, and that was Japan Black. They had to wait for faster-drying paints to arrive before they could mass-produce cheap cars in different colors.

      If Ford had produced Model T's in other colors, they would have been more expensive and therefore fewer people would buy them. It was a business necessity, not arrogance on Ford's part.

  9. Re:Medical by carlcmc · · Score: 4, Insightful

    No, I disagree. As someone who has some background in computers/it/programming (programming in C and fortran for fun in college as elective classes) as well as being Physician Assistant taking care of patients, I think you are totally off track.

    Your customer is your customer - the users and purchases of your software. That would be like saying that you develop POS software and the customers in the hardware store are your customers ... . You thinking you know better than the medical professional as to how the program should work for me is the same as me telling you what development language or database backend you should use.

    Listen to your customers ... highly educated physicians, physician assistants, nurse practioners who are highly analytic when they tell you there are good reasons to do things certain ways.

    You act like easy to use and safe for patients are contradictions ...

    I contend that I have used applications that were safe for patients that were easy to use and not easy to use and vice versa.

  10. Mobile app observation. by CODiNE · · Score: 4, Interesting

    As I watched several users go through a few of my apps, an interesting behavior became apparent.

    Many people as soon as they see a new screen on a mobile app instinctively flick up or down attempting to scroll. If the page doesn't bounce or in any way give them visual feedback they think that it's frozen and start to tap around looking for a response.

    After that, I started making every single screen in my apps scrollable, even if it just bounces content smaller than the screen. That tiny little change makes users feel like the app is faster and more stable.

    --
    Cwm, fjord-bank glyphs vext quiz
  11. And you don't need a one-way mirror... by dpbsmith · · Score: 4, Interesting

    At one now-defunct Fortune 500 company I worked for, they were sort of reluctant to apply any informal techniques like watching users try to use software (without instructions or coaching), because they had a nascent Human Factors group that wanted to build a facility with one-way mirrors and video cameras, and they kept telling everyone that you needed to have a facility like that in order to learn anything.

    On numerous occasions at numerous companies I've simply corralled someone, anyone, who had not yet used the software, and asked them to try to accomplish basic tasks with it. "Please forgive me for not helping, I just want to see how far you can get without help. I'll help you if you really get stuck." And then I've watched them as they tried to use my software.

    I always learned a lot from this, and I learned it very quickly, and a lot of what I learned was really trivially easy to implement. You can so easily miss the blindingly obvious when you are familiar with the software yourself.

    The worst advice--well, maybe not the worst, but bad advice--tended to come from people giving advice that they imagined was on someone else's behalf. You really do NOT know what things people are going to find easy or difficult until you actually watch them try.

  12. Re: Difficult != Safe by HeadlessNotAHorseman · · Score: 4, Insightful

    Everybody seems to be confusing the term "customer" with "stakeholder". The fact that a person may not understand what they really need when asking for an info system should be no surprise to anyone in the IT industry by now. It's the whole reason for the existence of business analysts like me. Being a good programmer does not by any means guarantee that you are good at gathering and understanding requirements. Being a good BA certainly doesn't make me any sort of programmer (though I do understand the concepts).

    --
    I like my coffee the way I like my women - roasted and ground up into little tiny pieces.