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."

57 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 pr0fessor · · Score: 2

      I agree... Even if it's just purchasing a solution, you really don't know what the user's needs are until you take some time to figure out what they really do. {I mean beyond the broad over view you get when you ask them}

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

      Or to put it another way:

      Domain knowledge is everything.

      Which is why hiring in house and working hard at retention is tremendously valuable. Too bad no MBA-driven organization is capable of understanding that. Software a cost center? Ha. Software is the lifeblood of a modern organization. It is the thing on which ALL business processes run, from hiring to benefits to production (if any) to sales and customer service and everything in between. There's a lost generation in management who do not understand this and will never understand this. Some day the madness of outsourcing your mission critical systems to a third party who doesn't care if you live or die will be understood for the rank insanity that it is.

      I keep telling myself that... I may not live long enough to see the day.

    5. Re:No shit? by ImdatS · · Score: 2

      I don't really get it: Software is just another tool and it seems that every OTHER tool-maker in this world works exactly as described above (observe what the user does and how he does and create a tool for him/her to do it even better) and only in software we seem to ignore this insight.

      Tool-development is as old as humanity; only because software-dev is such a young industry doesn't mean we should be ignoring tens-of-thousands of years of tool-development techniques.

      I know out of 25+-years of experience that (a) the user doesn't know exactly what he/she needs; (b) he/she cannot really articulate his needs; (c) even if they can, they don't actually know what is possible in software so they come up with a crappy request.

      Best approach so far for me was this:
      1) Ask the user what they need
      2) Observe them while they work
      3) Come up with a proposal to do the work even better
      4) Get input on the proposal: now, this is crucial: during this step, the requirements will change significantly because if I did my job right, I not only showed him how to solve his problems but also what is possible at all. He/she will then start piling on and together we usually come up with a great requirement.

      During the development phase, I usually work very, very closely with the users and get a lot of feedback for each and every feature - from functionality to usability - everything. And most of the time, my users were quite happy in the end...

    6. Re:No shit? by bluefoxlucid · · Score: 2

      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!"

    7. 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.

    8. Re:No shit? by Runaway1956 · · Score: 3, Insightful

      It's even worse than that. No "management" personnel worry about the future of personnel. Or, more accurately, they don't worry about future personnel. Where are the apprenticeship programs of ages gone by? Today, no matter what department, you hire some guy off the street, plug him into some narrowly defined job description, and expect him to perform. If he fails to perform, you get rid of him, and find some other guy off the street. There is no training, seniority means nothing, and no one is advanced from the labor pool. Geez, Louise - in ten years, or fifteen or twenty years, when us older folk have died off, what is the new generation going to do? Where are managers going to find people to do the necessary jobs? There are literally MILLIONS of kids sitting on their asses today, WISHING they could get a decent job, or an apprenticeship.

      Domain knowledge? The kids who are being held back today might be qualified to design a new deep fat fryer for McDonalds.

      --
      "Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it." - Charlie Br
    9. Re:No shit? by girlintraining · · Score: 2

      Sorry, but to anyone who's worked with users in any serious capacity for any length of time, this is kind of obvious

      Tell that to anyone who's had to apply for government assistance. Obvious doesn't mean it's gonna happen. It's one of mankind's oldest delusions: Believing that an enhanced understanding of a problem will lead to a solution. Think of people as having a very high static friction; Individually you can push them with a solid jolt -- like showing up a methodone clinic because your habit nearly got you killed. For the fifth time. Collectively though, they don't budge until the're an ridiculous amount of pressure behind them, in which case they finally uncork and all that potential energy that's been behind them building up blasts through them like a dam giving way. Which is very unfortunate if you live in the town at the bottom of it.

      I've figured out roughly that the ratio is 3:1 -- that is, it takes at least 3 people dedicated to hammering on the poor bastard before you can overcome the average person's resistance to it. So take the number of people in a group, and the number needed to overcome the static resistance is a cube of that. Needless to say... there's a reason large bureauacracies and governments don't change... they eventually simply fail catastrophically from the pressure. You can't build up that much energy for social change and then, when the whole mass unanchors, have any hope of controlling its trajectory. It's best to just get as far a way as possible and wait for the shrapnel to stop flying. :(

      --
      #fuckbeta #iamslashdot #dicemustdie
    10. Re:No shit? by pigiron · · Score: 2

      I thoroughly disagree. I've spent 40 years in software development mostly in eliminating the need for humans *completely* from the task at hand.

    11. Re:No shit? by icebike · · Score: 3, Funny

      And your sales would be a lot better too.

      --
      Sig Battery depleted. Reverting to safe mode.
    12. 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.

    13. Re:No shit? by StrangeBrew · · Score: 2

      I think this is only half of it though. I good analyst not only listens to what the user wants, but also spends a great deal of time listening to raw complaints related to what the users already have. Most low end users have no idea what they want, but they will readily tell you what's wrong with what they've got. A complaint can then be turned around into a want or need fairly easily.

  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. Captain Obvious? by CronoCloud · · Score: 2

    IANAD (I Am Not A Developer) but isn't this Standard Operating Procedure in most software development these days?

    1. Re:Captain Obvious? by NMBob · · Score: 2

      I direct you to healthcare.gov. :) In my experience there's a lot of it NOT going on. I watch my users like a hawk and learn a lot. On top of just making the program do what the user wants watching them use your software generates a lot of 'I never thought they'd do that!' and 'Why didn't they tell me that was not working!' moments. It's infinetly helpful.

    2. 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+
    3. Re:Captain Obvious? by Ravaldy · · Score: 2

      It's not just standard for software dev, it's standard procedure for everything that involves understanding ones job.

      Unfortunately we don't always have time to see what they do or be in person for that matter. The heavy users of my applications are local but I have dealt with users in remote areas where it's just not possible to justify travelling there to see what they do. Instead you spend more time working with them over the phone and then draft up something. If the draft appears to be good you proceed with a slim down version and let them make further requests.

    4. Re:Captain Obvious? by paulpach · · Score: 2

      IANAD (I Am Not A Developer) but isn't this Standard Operating Procedure in most software development these days?

      IAAD, Yes, this is a standard called "Usability testing". If you have the budget, you get some people to use your software and you record their face and screen, and even track their eyes if you have the equipment. Then you ask them to perform certain tasks in your application. Afterwards, you review the recordings and identify what things the user had trouble with, you change them and then ideally you test again.

      While this is very standard and well known technique, it is very costly (in both time and money) reason for which not everyone does it.

      I have no clue why anyone would think this article is news.

    5. Re:Captain Obvious? by Crudely_Indecent · · Score: 2

      You should expand on QA - or...I will.

      QA is tasked to the very butts-in-seats who were tasked with writing the application. Being lazy bastards, they don't write QA tests that test functionality in all scenarios - they write QA tests that always pass in unrealistic perfect data scenarios.

      You also missed the hand-off and ongoing support contracts.

      The application is then handed to the customer. Naturally, the customer accepts delivery when all of the QA tests pass with flying colors. They begin training their users on the new system - which is made more difficult because as the users gain new knowledge - they lose old knowledge. Many die after forgetting how to breathe. Those who survive begin to input data that causes errors that the QA process was meant to catch. A support ticket is opened and the process starts over again. This generates another contract to fix the bug, which makes the managers happy because they get to have more "butts to bill".

      --


      "Lame" - Galaxar
    6. Re:Captain Obvious? by ddtstudio · · Score: 2

      In theory, you're right, but in practice that's so, so not the case, especially here in the SF Bay Area, which seems to be neck-deep in the "build-first" mentality of freshly minted MBAs.

      Over the last year I've talked with so many startups, mostly "founders" and "entrepreneurs" with Bschool degrees, who seem to be taught that all they need is an "idea/vision". They just need to get someone to build it, because, you know, they've run the numbers and they "know the market" (actual, real-life quote from an actual situation). When I ask, "What problem does this solve, for whom, and how do you know this?", they scoff and tell me that they don't need to do any user research and besides, that'd slow things down.

      Now, there may be actual pressures on startups to start building without ever observing a single potential user. Certainly if you're going to present at Y Combinator, they want to see code, a product, and tons of "confidence" (again, actual quote from actual situation). Showing them serious research on populations, data on engagement, prototypes... that'll get you laughed out.

      But, side note: 75 to 90% of all startups fail. Go figure.

      As a UX professional, this really grinds my bacon, six ways to Sunday. It's like seeing a kid whinge that the test was hard when you know they didn't do any of the homework. Perhaps they think that user research means months, and 100s of pages of specs (and, to be fair, it could), but I think a lot of this comes not just from stakeholder pressure but a misreading or Ries's "Lean Startup". Sure, it helps to get something in users' hands quickly, but this is based on research first. Know who your users are, what problems they face, how they think. At least an idea of it. You can rapidly prototype, GOOB, test, iterate, all within cycles of days or weeks. But you HAVE TO KNOW THE USER (who is NOT YOU) first.

      There's a great example of how this can be done for $40, to save $10Million: http://vimeo.com/24749599

  4. 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.

  5. Example this weekend by jhumkey · · Score: 2

    This isn't a problem of "eating your own dogfood" . . . Its not enough to use your own product. (I think) the point of the article, is that you should observe UNexperienced users and how THEY utilize (or have difficulty utilizing) the product.

    I encountered the same thing this weekend using a popular "drawing" type product . . . watching the videos on the Company site, or on Youtube, made it seem easy. When I tried it for myself . . . I couldn't draw lines in an color but BLACK for TWO HOURS. The "experienced" users . . . unwittingly skipped over many basics a newbie user . . . just doesn't know.

    It should almost be a "interrogation room" "through the glass" observation. So the developer can't "train" and can only see the suffering the new user experiences while trying to "find" the features they need.

    For the tool I was using . . . its ultra powerful (once you know it) but . . . even the simplest features are maddeningly difficult to initially find. Easy and Powerful once found, but tortuously difficult to find.
    That's the kind of "observation" I believe the article spoke of.

    --
    No, I don't remember your name. But the memory mapped screen on a TRS80 from 1977 is from 15360 to 16383 if that helps.
  6. Not sure stop listening is right by TheCarp · · Score: 3, Insightful

    I think its more about understanding needs. Don't stop at listening may be better. Listen to what they say "I want drop box" and think what does that mean?. Does it mean "I want some third party to make everything work"..... no it means they want a way to make working with files so seamless that it seems like they have a single global filesystem...without having to think about it.

    I want drop box everywhere too. I don't want drop box at all because I don't want some unknown third party who does who knows what and I don't want to run somebodies proprietary code and service for anything that I rely on working...but the underlying "I don't care about the details" functionality.... absolutely, I want it too.

    --
    "I opened my eyes, and everything went dark again"
    1. Re:Not sure stop listening is right by mcmonkey · · Score: 2

      I think its more about understanding needs. Don't stop at listening may be better. Listen to what they say "I want drop box" and think what does that mean?. Does it mean "I want some third party to make everything work"..... no it means they want a way to make working with files so seamless that it seems like they have a single global filesystem...without having to think about it.

      Which is why the developer needs to stop listen and start looking. "I want a drop box" is useless as a business requirement. Even "they want a way to make working with files so seamless that it seems like they have a single global filesystem" is useless. Does the developer have the same understanding as the end user of a term like 'filesystem'?

      You are right that it is about understanding needs. However for the daily tasks users perform most often, the repetitive tasks that cause the most pain, the user does not know and cannot articulate what he or she needs. This is not a slight against users.

      Here's an exercise: write a procedure, as if you were verbally instructing someone, as how to tie a shoe. Don't look at your shoes! Without visual aids or string for demonstration, with just words, tell someone how to tie a shoe. Unless you've spent a lot of effort dedicated to writing detailed instructions, you are probably not going to come up with a good guide to tying shoes. Does this mean you don't know how to tie your shoes?

      No, it means two things. One, some things are easier to communicate through demonstration. And two, when we repeat the same task enough times, it becomes part of "muscle memory." We go on auto-pilot and do things we don't realize we are doing.

      I agree with folks saying this is not news, but I also agree with the folks saying this is not done nearly enough.

    2. Re:Not sure stop listening is right by defcon-11 · · Score: 2

      I think the primary goal should be too identify what problems the customer is having, not what solution they want. Observer the client and figure out their problems. It's the development companies job to figure out the best solution. When I say 'problems' I don't mean things like "I don't like that I have to use 2 screens to do y". I mean thing like "our shipping process takes too long and losses too many packages".

  7. Medical by Anonymous Coward · · Score: 2, Interesting

    My wife is a nurse practitioner. Anyway, she is constantly complaining about how the software's UI doesn't make any medical sense - like things she needs the most are a few screens deep and the things that she rarely needs are right on top.

    Or when entering vital statistics the individual's height has to be entered every time - at least have it default to the last entry because even if you're doing pediatrics, the height may not have changed since the last visit.

    1. Re:Medical by fast+turtle · · Score: 3, Interesting

      there's a reason for the height entry being new each and every time as a change in height either direction can indicate certain problems - a good example is a sudden gainning of 2 inches (5cm) in a very short time frame could indicate a glandular problem. Same with sudden loss of height could be an indication of spinal issues. Simply put, the fields are derived from what is a common Vital Stats Sheet (hard copy) and are god damn standardized by the Medical Profession.

      On the UI screen issue, yes that should be addressed - This is where devs really do need to watch how a user works because what "You" think makes sense does not from their work flow perspective and it can make/break the use of your app.

      --
      Mod me up/Mod me down: I wont frown as I've no crown
    2. 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.

    3. Re:Medical by icebike · · Score: 2

      You could of course determine in advance what would be dangerous, but that would require you to know a little something about the subject matter you develop for, rather than being an automaton cranking out mindbogglingly monotonous and un-intuitive code.

      When the people who use the system start being perceived as working FOR the system, instead of the system working for them, the first thing that happens is they start looking for shortcuts, and ways to circumvent your elaborately constructed labyrinth.

      --
      Sig Battery depleted. Reverting to safe mode.
    4. Re:Medical by Nadaka · · Score: 3, Interesting

      The person using my software is not my customer. My customer is the patient and the FDA. If making it easier for the nurse compromises the safety of the patient, its BAD software.

    5. Re:Medical by ColdWetDog · · Score: 3, Insightful

      The person using my software is not my customer. My customer is the patient and the FDA. If making it easier for the nurse compromises the safety of the patient, its BAD software.

      While you may think that's the right way to look at things, that attitude is what makes EHR (Electronic Healthcare Record) software just blatantly awful.

      You're really quite wrong: Your customers are FDA, the vendor, the insurance companies, CMMS (Center for Medicare and Medcaid Services) and the medical provider using the software. Yep, having all of those 'customers' (stupid concept, BTW) is hard. That's why this stuff costs what it does.

      But the attitude that the people using the software aren;t important (your implication) is what makes doctors and nurses really negative about EHRs).

      --
      Faster! Faster! Faster would be better!
    6. Re:Medical by malkavian · · Score: 3, Insightful

      When your bad user UI gets in the way of effective clinical care, you'll soon kinda realise that your customers are the ones who pay the bills.
      If you get to streamline (correctly and safely) the job of the clinicians, you save hospitals money, and save lives both at the same time.
      The patient is the client of the clinicians, not you. Your job is to enhance the clinicians' effectiveness, helping save lives that would otherwise be lost.

    7. Re:Medical by blakelarson · · Score: 2

      Default to last entry? Are you serious? Just allow it to be left blank or say "not measured". No need to falsify patient data to save time.

    8. 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.

    9. Re:Medical by theshowmecanuck · · Score: 2

      This comes down to the very well made point made earlier, watch what your end users do, determine their needs by observation and interview, and avoid or ignore most of what the administrators and managers say. That the use of the software generates data, is obvious. What the administrators want to track comes from that data. Just make sure that when the users use the system, the data the admins and managers want is also captured. It isn't that hard to make a usable system that also tracks statistics.

      --
      -- I ignore anonymous replies to my comments and postings.
    10. Re:Medical by Hognoxious · · Score: 2

      So how do you distinguish between "height measured, and it's the same" and "height not measured, same assumed"?

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  8. MS did the first cloud service before dropboxq by alen · · Score: 3, Interesting

    i was an alpha tester back around 2008

    there was no cloud storage, but you could sync files between your computers running the client. i left my home PC on and sent files while on vacation 1600 miles away. Everyone testing it said how awesome it was on MS Connect. Of course MS didn't do anything with it and dropbox was born

  9. But.. by Anonymous Coward · · Score: 2, Funny

    Apple tells me what I need, thats the perfect scenario right?

  10. ..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?"

  11. Side-by-side by plopez · · Score: 2

    There is no substitute for side-by-side. Which is really hard to do if your user is in Denmark, your designers in California, and the development team is in India. Which is why Agile works not for distributed development.

    --
    putting the 'B' in LGBTQ+
    1. Re:Side-by-side by bluefoxlucid · · Score: 2

      Agile is, in a nutshell, a risk-lowering strategy for project management that incurs greater but more stable costs by repeatedly re-evaluating requirements along project phases in parallel.

      Essentially, with basic Waterfall, you execute a series of project phases. At each phase, you re-evaluate your requirements, the progress of the project, and the needs of the organization to determine if what you're building still fits with what the user needs. With Agile, the next Project Phase will begin as soon as possible--if you can complete part of it after outputting a specific milestone deliverable in the previous phase, then you begin working on the next phase immediately. This includes repeated re-evaluation of requirements, which includes meetings with your clients (other department, coworkers, end users, managers, sponsors, whatnot) to examine what's been done, how the project is coming along, and how it addresses requirements.

      This takes more time and expends more resources; however it also forces a re-evaluation of requirements, giving many more chances for your clients and sponsors to tell you that the project either is moving in a direction that doesn't satisfy requirements or is implementing requirements that have become obsolete. Obsoleting requirements reduces project work, but also invalidates some prior work--the fact that requirements are obsolete is not controllable, so the risk of discovering that the requirements are obsolete is the actual risk. Re-examining project requirements more frequently reduces the amount of work that will be done with obsolete requirements, decreasing risk.

      Agile works fine. I dislike it, but I'm starting to understand and like it more. Project Management relies on communications; it includes Project Stakeholder Management and Communications Management, where stakeholders and their communications needs are classified and the frequency and mode of communications required are documented. Distributed development brings up a lot of communications needs and requires a good communications plan, because you're going to be communicating across differing cultures (yes even Norcal versus Socal presents issues in cross-cultural communications) with a lot of "virtual communications" (video conferencing, teleconferencing, etc. instead of face-to-face meetings). You can't just walk into the other department and talk to all these people during the course of their work; all communication will be highly structured, which is useful but is greatly aided by the inclusion of casual meetings. That means universal communications difficulties.

      Solve your communications issue first. Then decide if you need Agile or Waterfall or what, because the best management strategy will depend on the project or even the project phase. You can't just slap Agile onto every project or run screaming away from it all the time and expect that to improve things. People love buzzwords because they think they can attach "DO THIS" "DON'T DO THAT" to things like Cloud or Agile or Virtualization, but they can't.

  12. Slashdot beta by game+kid · · Score: 3, Insightful

    I wonder if the Slashdot admins will be doing either when they pull a YouTube and inevitably (it's always inevitably, for some reason) turn the main site into beta.slashdot.org.

    Here's an easy one: "Archieved[sic] Stories" at the bottom. Listen to us, watch us, whatever, but please don't fuck it up, and fix what isn't right.

    --
    You can hold down the "B" button for continuous firing.
  13. really the basis of HCI by toupsz · · Score: 2

    Any decent HCI text will tell you the same thing. This has been known for a few decades now.

  14. Re:False premise - usually devs DONT want to by Chemisor · · Score: 2

    Most of the time the managers want to ship the product by the due date, and usually decide that they're smarter/cooler than the users anyway. "You'll take Feature X and suck it, luser." is the motto.

    FTFY

  15. 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.
    1. Re:I've got an anecdote by mcmonkey · · Score: 3, Insightful

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

      That post should be mod'ed to +6 and stapled to the forehead of every project manager or system owner who thinks developers should be kept away from end users.

  16. Re:Heck, that was the first thing I was taught by icebike · · Score: 2

    You also need to pay attention to the stuff you see them doing that seemingly does not involve your system.

    You will occasionally hear or see they do something in passing, maybe as simple as entering a name and address not only in your system, but also in some other parallel system such as a "rolodex" or simple spread sheet, and when you ask why, you find out that your system never made a provision for printing mailing labels, or the information they need for some obscure report takes way too long to find using your system.

    Often you can accommodate these functions with a few lines of code, greatly improving acceptance of the system. (Someone is sure to jump up and scream "Feature Creep", but extensive or expensive additions aren't what is being mentioned here).

    Also, don't forget to look into their Closet of Anxieties, those things they only mention while grumbling about their lot in life.

    --
    Sig Battery depleted. Reverting to safe mode.
  17. 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.

  18. Difficult != Safe by sjbe · · Score: 2

    My customer is the patient and the FDA.

    In all likelihood neither of those is your customer. Your customer is the person tasked with actually using the device, most likely a nurse or doctor, and the organization that pays you for it. The FDA is certainly not your customer. The FDA's job is to ensure you aren't selling snake oil. They do not buy or use your equipment. They are a regulator not a customer. Just because you have to please them doesn't make them your customer.

    If making it easier for the nurse compromises the safety of the patient, its BAD software.

    Of course but making it needlessly difficult for the nurse also compromises the safety of the patient AND it hurts operational efficiency which is both a treatment risk and an economic cost. Safety first obviously but don't try to excuse bad design as a safety measure when it isn't.

    1. Re:Difficult != Safe by mcmonkey · · Score: 2

      My customer is the patient and the FDA.

      In all likelihood neither of those is your customer. Your customer is the person tasked with actually using the device, most likely a nurse or doctor, and the organization that pays you for it. The FDA is certainly not your customer. The FDA's job is to ensure you aren't selling snake oil. They do not buy or use your equipment. They are a regulator not a customer. Just because you have to please them doesn't make them your customer.

      IAAQISDFAFRC. (I am a quality IS developer for a FDA-regulated company.)

      Rarely is the end user the customer. Not to discount the needs of the user, but the doctor or nurse using the product is not the same as the customer paying the bills and setting the requirements.

      The FDA is a regulator, but that does not capture the relationship between the company and the government entity. For example, I'm selling a vial of serum A. The regulator wants to make sure the vials actually contain serum A and if there is an issue, I can track down which vials went where and to whom so I can send out a notification or a recall if necessary.

      But the labels and packaging with the vials, the FDA will have more input on those than my "customers." Documentation on validation of my systems is going to be more visible to the FDA than my "customers." Reports on product complaints, process deviations, documentation discrepancies, all go to the FDA, not my "customers."

      For the software developer working under the regulations of the FDA and other such agencies, those agencies are very much our customers.

      As for the example above, regulation may tell you what data the software needs to collect and how to handle that data, but it will not tell you in specifics how to collect that data. So for that nurse, required fields and commonly-used functions should be quick and easy to access. That certain fields are required, I've never known a developer to favor requiring fields when not necessary, so that almost certainly is due to the customer. That the nurse has to enter a value each time and not have the data default to a value from the last record, that's regulation. If it wasn't necessary for the nurse to take the measurement at each exam, the field wouldn't be required. Having a default value is the path to inaccurate data and false records.

    2. 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.
    3. Re: Difficult != Safe by HeadlessNotAHorseman · · Score: 2

      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).

      And the customer is not always synonymous with user. The role of the BA is important, but it should be part of facilitating communication between the developer and the user, not a firewall keeping them apart.

      That depends on both the developer and the user :P Just kidding, I agree. When someone asks me what a BA does, the simplistic answer I give them is that I act as a translator between users/the business and the programmers.

      I deal with some users that have almost no clue about computers and technology, so they have a tendency to think that IT development can deliver more than it can in a lot less time than it really takes. Even worse, the organisation I work in is strongly hierarchical so my communication with some users is often via several layers of management (each of whom know very little about computers and technology). Suffice to say, it is quite the challenge to manage users' expectations!

      --
      I like my coffee the way I like my women - roasted and ground up into little tiny pieces.
  19. 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
  20. 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.