Slashdot Mirror


Ask Slashdot: How To Get Non-Developers To Send Meaningful Bug Reports?

DemonGenius writes "I'm in the midst of a major rollout of one of our primary internal applications at work and we have a beta version available for all the staff to use. The problem here is most of the staff don't know how to send reports meaningful enough to get us devs started on solving their problems without constant back and forth correspondence that wastes both developer time and theirs. Some common examples are: screenshots of the YSOD that don't include the page URL, scaled screenshots that are unreadable, the complaint that wants to be a bug report but is still just a complaint, etc. From the user's perspective, they just send an email, but that email registers in our tracking system. Any thoughts on how to get the non-devs sending us descriptive and/or meaningful reports? Does anyone here have an efficient and user-friendly bug tracking system/policy/standard at their workplace? How does it work?"

33 of 360 comments (clear)

  1. Make it send data to you by jhoegl · · Score: 5, Insightful

    Make your software send it...

    You can not teach the world, so why try?

    1. Re:Make it send data to you by Anonymous Coward · · Score: 5, Insightful

      Just gunna point out that I regularly have to post meaningful bug reports for a lot of the important software I (and probably you) use every day. I wouldn't say the people that made it failed.

      What they do get wrong is using the bug reporting systems like bugzilla. I look at the pages for those kinds of system and feel like I'm going to have a heart attack. And I'm the guy that could write it.

    2. Re:Make it send data to you by werdnapk · · Score: 5, Insightful

      Yes, a crash report can be sent by an application, but a non-crashing bug? If the bug isn't caught by tests (automated or manual) then the software won't know to send an issue like that, otherwise it wouldn't have been a bug in the first place.

    3. Re:Make it send data to you by Anonymous Coward · · Score: 4, Funny

      Make your software send it...
       

      I recommend call information, web history, and keystrokes. For more information check out carrieriq.com

    4. Re:Make it send data to you by Mr.+McGibby · · Score: 3, Insightful

      It's called a "report a bug" menu item that automatically compiles as much data as you can think of that might help, including making the user include a description of the bug. Also, there's nothing wrong with just going over to the coworkers desk and working it out. Or schedule a day with the users when you'll be in their "area" to address issues and watch for bugs.

      The reality is that most bugs *aren't* intermittent, and if you can fix all the bugs that aren't, then the intermittent ones tend to go away. The remaining stuff is tough to deal with, but certainly manageable.

      --
      Mad Software: Rantings on Developing So
    5. Re:Make it send data to you by Slavik81 · · Score: 5, Funny

      Put 'report bug' as an option in the help menu. And make sure your bug-reporting mechanism is the best-tested portion of the entire piece of software.

    6. Re:Make it send data to you by frisket · · Score: 4, Insightful
      Bug reporting systems aimed at developers should not be available to end users. They ask for (and expose) all kinds of irrelevant things that confuse the user.

      Instead, use a form that automatically picks up as much information as it can about the application, platform, and environment, and then asks what happened to make the user want to report it. Allow a screenshot to be attached (warning that unreadable shots can't be used). Don't try to gather information that the end user cannot be expected to know. By all means provide a link to a developer-oriented bug reporting system, for users who do know what they are doing, but for the end user Keep It Simple.

    7. Re:Make it send data to you by OeLeWaPpErKe · · Score: 4, Interesting

      Exactly. Make those people a browser extension that captures a screenshot, lets them paint a big red rectangle, a comment field, then annotates with things like all cookies for current page, browser history (on the current site), user email address, ...

      Then teach them "something goes wrong, push the button".

      And use a general exception handler that makes damn sure that the user id cookie is available inside the exception.

  2. Pray? by mirix · · Score: 3, Insightful

    Either that, or send them all to reeducation camps.

    Try not to stress about it, it's hopeless.

    --
    Sent from my PDP-11
    1. Re:Pray? by moderatorrater · · Score: 4, Insightful

      We've had success by making it very clear what information we need. We've given them the baseline information (username, account, environment, etc) that they have to send with every single bug, and we've made it clear that the steps they need to give us need to be something we can follow exactly and get the error every time.

      Obviously there are exceptions, and our user base includes people who are actually technical enough to exercise judgement over what we need, but for the most part it's just training and education. They can't know what information we need, so we need to tell them. It's a hard problem, but not unsolvable.

    2. Re:Pray? by rwven · · Score: 3, Interesting

      Definitely not hopeless. The main thing is that you have to set expectations. They will do what you let them do. If a bug report is inadequate, it's bounced with a request for more information, highlighting specifically what is needed.

      Our company has also instituted a layer of BA's that sit between the devs and the clients and have thankfully done a fantastic job of training the clients what they need to provide when they submit a bug report. Our BAs also know what we developers expect and nothing gets passed along to a dev until there's enough information to get started on it.

      It's also very important that if a client is just complaining, their complaint is either rejected due to lack of "whatever's missing" or it's turned into a new feature request.

      Even more important is letting the client know, with all due respect, that if they can't get you what you need, then they aren't going to get what they want. They need to understand that they can be wrong too, and all the arm waving and shouting in the world won't help if they don't give you what you need to do your job.

  3. More pressing question by Anonymous Coward · · Score: 5, Insightful

    A more pressing question is how to get developers to stop ignoring bug reports.

    1. Re:More pressing question by jhoegl · · Score: 3, Insightful

      I laughed, because its true.

      I have ignored bugs, not because it doesnt need to be addressed, but because it is low priority.

      This is just how things work.

    2. Re:More pressing question by WeirdAlchemy · · Score: 5, Insightful

      This. In my experience, dealing with bugs is very much a two-way street. If you want users to submit better bug reports, you need to be responsive to them so that they feel like they're getting something out of it. Imagine yourself as a user who takes the time to prepare a nice bug report, then waits a month to see any progress. How much time are you going to spend on your next bug report? Either way you behave, it ends up as a feedback loop -- your choice whether it's a positive of negative one.

    3. Re:More pressing question by DeBaas · · Score: 3, Interesting

      A more pressing question is how to get developers to stop ignoring bug reports.

      You'd be surprised how much proper bug reports have to do with developers solving your issues quickly in stead of ingore it.

      I'm a test manager and new testers in my team are trained to to follow strict rules for bug reporting. I find proper bug reports possibly more important deliverables then test plans and test reports.
      Since we started adhering to strict rules the developers started to handle our issues much faster as well as much better. Not only are they much more inclined to help you if you take the effort to make proper report, but also they have to spend _much_ less time on it. I've once calculated that a bad report can esaily cost more then 8 times the time it would have cost. And also they often otherwise fix the wrong thing. Why does it take so much more time? Because they first waste time to find out what's wrong, then they contact a designer, who does the same, wasting more time. Then they contact you again and as you probably logged it days or weeks ago, you do the same again. And before you know it, something that takes 30 minutes to fix caused 10 hours in work.
      If you're the only doing it right, you may see your developers picking yours up asap as the cherries.

      Basic rules for reporting:
      - always provide steps performed (bulleted!)
      - always provide expected result
      - always provide actual result + the base for expecting this (i.e. see design page x or this is not right because...).
      - if not plain obviuos explain why actual result is not correct
      - alway provide test data used (i.e. username, customername, results such as logs xml messages)

      If applicable (nearly always)
      - provide a screenshot

      NEVER:
      - never try to their work and tell the developer things like: the code is probably wrong so and so or the database should do this and that. Describe the behaviour, not the cause. The biggest problem with this is that they may take you seriously and could fix it in the wrong place. They are better suited to determine what the cause is for certain behaviour.

      --
      ---
  4. Listen by Moof123 · · Score: 4, Interesting

    Seriously, don't just keep blowing off the important user bugs for multiple release cycles. Once your bugs have been blown off for 6 months you stop submitting new ones.

  5. YSOD? by Anonymous Coward · · Score: 3, Informative

    So it is an ASP.NET app? Seriously, override application_error in the global.asax, and just send the emails with detailed error dumps and messages straight to you, in real time.

  6. Make the users fill in a form... by jet_silver · · Score: 3, Insightful

    and find out what you think might be wrong, instead of what is wrong.

    Engage the users. It's your problem, not theirs.

  7. Have a template for them to fill out by mattack2 · · Score: 4, Informative

    I admittedly didn't read the full thread so far, and I know at least some of this was covered.

    But have either a web site or a bug reporting facility in your app filled with a template that the user can fill out. Something like:

    Brief description of problem:

    Steps to reproduce the problem:

    What you saw:
    include crash logs, snapshots, etc

    What you expected to see:

    Severity: Crash/UI/Performance/etc..

    Version of app/configuration info (filled in AUTOMATICALLY if possible).

    and of course do NOT make them fill in every single field (if it's not reproducible, they won't have exact steps.. but you might be able to narrow down on the problem with multiple different bug reports).

    Personally, I hate these templates in our bug system, and cmd-A, and type over them, since I already know what kind of info to put in.. but it is useful for regular users (or even developers, if there are special steps, like special debugging tools for your specific app/tools).

  8. increasing signal to noise with business triage by Anonymous Coward · · Score: 4, Insightful

    I've had success by educating a small group of business users to serve as triagers of bug reports - it's a lot easier to have them enforce your rules about what a validated bug looks like, particularly when you've armed them with a template to check against (example - without a screenshot including a URL, time of incident, browers/OS, the report gets sent right back at them) or have them validate the issue on their own before an engineer even looks at it. Eventually the business users get good enough to aggregate incidents together to locate true bugs and also can shoulder some of the prioritization burden. Remember that its in their rational best interest to care about software quality even if they can't speak about it in a sophisticated way.

    We have also posted examples of good bug reports and a wall of shame for bad ones - if you can get incentives together (or punish those that resist reeducation) that helps too.

  9. Simple solution. by khasim · · Score: 4, Insightful

    From the question:

    I'm in the midst of a major rollout of one of our primary internal applications at work and we have a beta version available for all the staff to use.

    It's an internal app so just have the app log everything that the user does in that app.

    Then, when the user calls to say there is a problem, the dev team can pull the logs from that machine and recreate the exact sequence of events.

    And don't worry about the logs becoming too large. If the dev cannot figure that out then there are larger problems there.

    Also, have the app check the versions of the libraries and such in the OS.

  10. Re:mark the bug "[closed] can not reproduce" by gtbritishskull · · Score: 3, Insightful

    Or they will just stop sending bug reports. If you are an ass to your users then they will weigh how much they care about the app working vs how much of a pain it is to deal with you. If the app is relatively unimportant to them or you are a very big ass then they will stop sending bug reports (and possibly stop using your app). In which case the dev loses.

  11. YSOD? by Mattwolf7 · · Score: 3, Insightful

    YSOD? Maybe you need to be more clear to your users. I don't know what YSOD is and I work in the industry... Make sure your users understand what a bug report is, and how it helps to give as much information as possible. Avoid using terms they won't understand, and assume they don't know what you want. Some users will try to help if you tell them what you need, but give up if they feel like they have to figure it out on their own.

  12. "Report Bug" clicky by John+Hasler · · Score: 4, Insightful

    Give them a "Report bug" clicky that brings up a form for them to fill out and which automatically extracts relevant information.

    --
    Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
    1. Re:"Report Bug" clicky by Anonymous Coward · · Score: 5, Funny

      Just make sure you ask a zillion questions about what version of video driver they have and if their path info is set correctly. You can never have too much information. Pop up long hexidecimal numbers numbers they have to enter, but can't copy or enter untill they close the popup. Make information that is only available to the developers mandatory.

    2. Re:"Report Bug" clicky by dj245 · · Score: 5, Informative

      I use Problem Steps Recorder on Windows 7 to report problems to my IT department. If you have a problem which occurs when you do a certain thing, it can be a great tool. Especially on web-based software or forms.
      Just type "PSR" into a command prompt or Start->run. It's a great tool.

      --
      Even those who arrange and design shrubberies are under considerable economic stress at this period in history.
    3. Re:"Report Bug" clicky by Grishnakh · · Score: 3, Insightful

      To be fair, software development is still a pretty new field, and is going through rapid changes. While we've been developing software since the 60s, a lot has changed since then; having an automated way of reporting crashes is actually fairly new, as it was impossible not very long ago before computers were networked or had much power. Of course, this isn't entirely true: we've had fairly powerful networked computers for some time, but they were very large and expensive computers that not that many people had access to; it wasn't until the mid 1990s (only 15 years ago) that these became commonplace for most people, with the rise of the PC. And of course, many lessons learned in the mainframe and other large computer space (like with UNIX machines) have either been slow to trickle over, or were outright re-invented with PCs because the two worlds started so differently.

      Also, a lot of people working in software development came from different fields and may not have that much formal education in it (I started in electrical engineering, for instance), and even those who did, may have gotten a rather poor education from what I'm reading about the way some colleges teach CompSci.

  13. coaching by KevMar · · Score: 5, Informative

    You have to coach them. They don't really understand what you need.

    When I get a email from someone about a bug, I go meet with them. I ask them all the questions I think may be relevant. What were they doing, how were they doing it. Were there any extra small steps or actions that jump out. Sometimes I explain why I'm asking certain questions and relate them back to previous bugs or issues.

    I think what you need is someone to be the go between. Get a tester to receive those emails, recreate the issue, then file a bug report. Don't allow the end user to file bug reports directly into your system. It will mess with your tracking data. A high number of worthless bug reports closed quickly may look good in the reports but does not help anyone.

    --
    Im a gamer, not a grammer major. This post is full of spelling and grammer mistakes.
  14. Re:Developers don't read bug reports anyway by spongman · · Score: 4, Insightful

    If the software is working the way its designers and architects intended for it to function, there's no bug.

    absolutely correct, unless you consider usability to be a feature.

    if you do, then every time a user is confused about your application, it's a bug. it may not be easy to fix. but if you don't consider it a bug, track it, prioritize it and potentially fix it, then you don't care about usability.

  15. Re:Mod parent up! by Dyolf+Knip · · Score: 5, Informative

    > If it's a C++ app, then sure, having a built-in crash reporting mechanism shouldn't be that hard to build in

    That's precisely what I do. The default exception handling routine sends an email to me with the app, version, username, machine id, error description, call stack, and any useful data that that I saw fit to include while coding. It has saved me mountains of pain over the years, and also fuels my reputation as the all-seeing eye.

    --
    Dyolf Knip
  16. Re:You Don't by shish · · Score: 4, Insightful

    Finding a decent way to look through GB of logs to find something that happened a week ago is going to be MUCH more of a challenge

    I'm running a website with 2-3k concurrent users; using web server access logs for read-only users, and a more detailed custom logging system for any interactions that any user makes, only generates ~100GB of logs per month. In the grand scheme of things, this is a tiny amount (grep from the command line is still perfectly adequate). For someone who can dedicate a day or two to writing a log browser then I'd expect the search to be even better, with graphs and automated anomaly reports and such (As someone who actually has done this, I'm not sure whether to find your comment of unrealism worrying or complimenting :P).

    --
    I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
  17. Re:Mod parent up! by Smallpond · · Score: 5, Funny

    > If it's a C++ app, then sure, having a built-in crash reporting mechanism shouldn't be that hard to build in

    That's precisely what I do. The default exception handling routine sends an email to me with the app, version, username, machine id, error description, call stack, and any useful data that that I saw fit to include while coding. It has saved me mountains of pain over the years, and also fuels my reputation as the all-seeing eye.

    I do much the same but include credit card information, mother's maiden name and social security number.

  18. There are no bugs, there are no requirements by gr8_phk · · Score: 4, Insightful

    I've had enough of software folks looking for requirements and now good "bug reports". Users/Customers do not have requirements they have PROBLEMS. It is up to the developers to create tools that solve those problems. The user doesn't even know what's possible or easy or hard to implement, so they can't tell you what the requirements are. Same for bugs. The user can't tell you details about which internal parts of your code have a bug, they tell you (at best) what they were doing when something happened. They don't know a crash from accidentally closing a dialog box. The solution - especially for internally developed software - is to go visit the users and have a conversation. Talk to them. Understand how they view your software and you can then understand their explanation of what it did wrong. This will also give you insight into how to make it better. Stop expecting detailed bug reports and start understanding users.