Slashdot Mirror


Ask Slashdot: How Does Your Team Track And Manage Bugs In Your Software?

Slashdot reader jb373 is a senior software engineer whose team's bug-tracking methodology is making it hard to track bugs. My team uses agile software methodologies, specifically scrum with a Kanban board, and adds all bugs we find to our Kanban board. Our Kanban board is digital and similar to Trello in many regards and we have a single list for bugs... We end up with duplicates and now have a long list to try and scroll through... Has anyone run into a similar situation or do things differently that work well for their team?
The original submission ends with one idea -- "I'm thinking about pushing for a separate bug tracking system that we pull bugs from during refinement and create Kanban cards for." But is there a better way? Leave your own experiences in the comments. How does your team track and manage bugs in your software?

107 of 189 comments (clear)

  1. Production Trouble Tickets by Anonymous Coward · · Score: 1

    We count the cases in production. That's how we track bugs. :-)

    1. Re:Production Trouble Tickets by ls671 · · Score: 1

      Seriously, we used to use bugzilla but we have since integrated the functionality into request tracker.

      --
      Everything I write is lies, read between the lines.
    2. Re:Production Trouble Tickets by ls671 · · Score: 1

      ...and integrated our time reporting system into it since there is already room planned for it in RT.

      --
      Everything I write is lies, read between the lines.
    3. Re:Production Trouble Tickets by Aighearach · · Score: 1

      I switched from Bugzilla to Retrospective about 10 years ago and never looked back. Huge improvement.

      One of the best features is that it was abandoned around 2010, so it is perfectly stable with no code thrash. Just keeps working the same, year after year, except when I add a plugin for a sort option or something.

      I love abandoned code. It has no bugs; only errata.

    4. Re:Production Trouble Tickets by No+Longer+an+AC · · Score: 1

      And we just close those tickets with a note that says "working as designed". If it's important enough, the customer will escalate it through management and pay for more software customizations.

    5. Re:Production Trouble Tickets by JustAnotherOldGuy · · Score: 2

      >One of the best features is that it was abandoned around 2010, so it is perfectly stable with no code thrash. Just keeps working the same, year after year, except when I add a plugin for a sort option or something.

      I love abandoned code. It has no bugs; only errata.

      Finally, someone who feels the same way I do. I like to find an application that isn't constantly being updated needlessly and is "abandoned". I build my own stuff into it, improve it as I see fit, harden it so it's secure, and never worry about some craptastic new release breaking shit and removing or mangling features I rely on.

      And no, I'm not being sarcastic. Like you say, it just keeps working the same, year after year. What's not to like about that?

      --
      Just cruising through this digital world at 33 1/3 rpm...
    6. Re: Production Trouble Tickets by Brockmire · · Score: 1

      Then you are stupid. No one is forcing you to apply updates*. Just don't check for updates and be happy. *OS excluded.

  2. Bugzilla by 110010001000 · · Score: 4, Interesting

    Bugzilla. It sucks. But that is what it is there for.

    1. Re:Bugzilla by Anonymous Coward · · Score: 5, Interesting

      But all of the other solutions suck worse.

      We use JIRA, and have about 45,000 open issues (word Atlassian uses rather than bug). The search sucks, and it's nearly impossible to find what you're looking for. At least the Bugzilla bug list page has some sort of logic even if you can't tell what it is. We do four hour bug grooming meeting each week to prioritize bugs, but that typically gets ignored and customer complaints are always what is pushed to the top. Our workflow with JIRA is so overly complicated and depends on who opened the issue, the type of issue, and other options so everyone is always confused as to how to handle workflow even though we've used it for over five years. We even hired an expensive Atlassian consultant to help, but $8k later he simply made things more complicated. Bugzilla is pretty bad, but at least you know how to use it.

    2. Re:Bugzilla by 110010001000 · · Score: 2

      Eh, that is fairly typical with software development. The truth is that no one really knows how to do it right. That is why the methodologies switch around every few years.

    3. Re: Bugzilla by Anonymous Coward · · Score: 2, Interesting

      Same experience here with Jira! Even after three full days of training when a group of us was hired last fall, we still usually don't know what to do. The having different workflow based upon hidden fields is just confusing as hell.

    4. Re: Bugzilla by Dog-Cow · · Score: 1

      I've used JIRA with 2/3 (second company was acquired) companies, and it worked well for us in all of them. I guess if you have competent administrators, you're good to go. Blaming the tool is the refuge of the incompetent.

    5. Re:Bugzilla by fahrbot-bot · · Score: 1

      We use JIRA, and have about 45,000 open issues (word Atlassian uses rather than bug).

      You use JIRA, so 45,001. :-)

      --
      It must have been something you assimilated. . . .
    6. Re:Bugzilla by vtcodger · · Score: 2

      It.s been a long time, but I really had some experience with bug tracking starting back when the earth was young and the IBM Model 026 cardpunch ruled all. And thereafter for a number of decades.

      Some thoughts:

      1. The best method depends strongly on project size, personnel and culture. I've seen projects where there are so few bugs, there was literally no need to track them and others that did fine with a list of bugs on a blackboard. And I've seen software with so many bugs,peculiarities,and insanities that the buglist was overwhelming. Look at the situation and pick the simplest solution that might work.
      2. In cataloging, do not try to distinguish between logic errors, flawed specs, user misunderstandings, design changes, etc. What is important initially is whether action is possibly needed, not why. Let the managers/suits prioritize, assign blame, haggle, and leave their usual trail of chaos.
      3. Once you get past two dozen or so bugs, assign each bug a unique ID. Numeric (BUG00666) if you have no good reason to use some other scheme.
              [surprisingly often several bugs will turn out to be related. Describing that is mondo-klunky if you don't give the bugs nicknames]
      4. Make sure the bug list(s) are easily searchable for keywords/phrases e.g. grepable on unix.
      5. Don't try to track too much. Probably what you need to know is:

        1.  
        2. what's the problem? .
        3. what needs to be fixed? .
        4. when will it be fixed ('never' is OK sometimes)?
           
        5. when was it (purportedly) fixed?
           
        6. status (unless you maintain separate lists for new, to be fixed, thinking about it, fixed but not released, etc,etc,etc.

          NOTE: too many catagories or lists can get way out of hand.

          NOTE: Watch out for creeping beancounteritis. Trying to deal with a bug tracking system with 40 or more mandatory fields for every bug will probably result in it not being used most of the time.

      6. Record the results of analyses (e.g. Those Mayan(?) characters in the display are because terminfo or the Registry is wrong (again)), somewhere. How likely doesn't matter. text in the bug list, links to emails, etc. You'll likely have to track from bug to analysis fairly often, so finding the analysis from the bug needs to be easy. The other way is usually less common so maybe you can live with keyword searching or some such.

      NOTE: Erratic formatting of the lists above is courtesy of Slashdot. It manages to screw up plain old text, OL, UL. and I'm tired of arguing with it. I intended something more readable.
      That's about it.

      Sounds Simple.

      Usually isn't Simple

      --
      You can't see ANYTHING from a car, You've got to get out of the goddamned contraption and walk...Edward Abbey
    7. Re:Bugzilla by luis_a_espinal · · Score: 1

      Bugzilla. It sucks. But that is what it is there for.

      Same here. It sucks but does the job (and it is better in many aspects to the alternatives.) So bugzilla for product bugs (that directly affect a product's ability to meet requirements.)

      Anything else goes into git issues.

    8. Re:Bugzilla by luis_a_espinal · · Score: 1

      Bugzilla. It sucks. But that is what it is there for.

      Same here. It sucks but does the job (and it is better in many aspects to the alternatives.) So bugzilla for product bugs (that directly affect a product's ability to meet requirements.)

      Anything else goes into git issues.

      Oh, and we triage the shit out of both (bugzilla bug entries and git issues) as we go along as well as once a month before the start of the next sprint planning. In fact, a mandatory all-team scrub is scheduled at the end of each sprint. Each developer is expected to look at the standing list regularly, just briefly, nothing epic, and make a list of things that need scrubbing.

      No scrubbing == insanity.

    9. Re:Bugzilla by AmiMoJo · · Score: 1

      We use RM Track... The biggest issue is the way bugs are assigned to people and everything is controlled with strict user permissions. Bugs get stuck with people, others can't even comment or take them over or contribute to them, the engineers can't mark stuff as "not a bug" etc.

      Even with fairly small teams, you want something open like Github has. Too many systems try to micro-manage the process.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    10. Re:Bugzilla by johannesg · · Score: 1

      Do you seriously have 45,000 open issues? I'd say your choice of bug tracker is the least of your problems... How on Earth did you get into a situation that bad? Do you expect to ever get out of it?

      Anyway, my two cents: we switched from Bugzilla to Jira two years ago. Bugzilla was ugly and painful, but it worked. Jira is beautiful, but I can never find anything. To be honest, I preferred Bugzilla.

    11. Re:Bugzilla by UnknownSoldier · · Score: 1

      I work for a Fortune 50 company and that 100% sums up my experience as well. Bugzilla may be "dated" but every else is even crappier. At one game job I've used TestTrack. Bugzilla just works.

      EVERYTHING in Jira is slow and OVER-ENGINEERED. i.e. In Jira how many times have you accidentally created a "story" instead of a "bug"? Uploading screenshots is still a PITA. The entire workflow -- holy crap -- how do you screw this up this bad???

      But management has to keep trying to justify sniffing the Atlassian glue (and price tag). Supposedly we get:

      * Confluence -- oh look another proprietary MarkDown / Wiki instead of the standard, open source, MediaWiki,
      * Jira -- what's wrong with BugZilla again?
      * HipChat -- oh wait we've migrated to Slack now. How many fucking times does IRC keep need to get re-invented???
      * BitBucket -- oh wait we never used that since we migrated from SVN to GitHub Enterprise

      So what is the "advantage" of the Atlassian suite again??? But I guess corporate would rather keep wasting money on proprietary crap instead of using one of the many open source projects that are more then "good enough."

      --
      Fuck You EU and Twitter for your bullshit Political Censorship games.

    12. Re:Bugzilla by phantomfive · · Score: 1

      We use JIRA, and have about 45,000 open issues

      Your problem isn't the bug-tracker. Switching to a different project management tool will not help you.
      It will help if you ditch your bug-prioritizing meeting and spend four hours a week each picking bugs and random and fixing them. In fact, make it an eight hour event.

      We even hired an expensive Atlassian consultant to help, but $8k later he simply made things more complicated.

      Yeah, you should have hired someone to fix bugs. That would have actually made things better.

      --
      "First they came for the slanderers and i said nothing."
    13. Re:Bugzilla by phantomfive · · Score: 1

      Oh mother fucker, if you have 45,000 open bugs that's clearly wrong. Maybe there's no way to do it right, but zero bugs is achievable.

      If you don't fix your bugs, then technical debt will begin to pile up and overwhelm you. In fact, one of the quickest ways to judge the quality of a codebase is to look at the number of bugs in the bug tracker (of course that can be gamed also, like any metric).

      --
      "First they came for the slanderers and i said nothing."
    14. Re:Bugzilla by JustAnotherOldGuy · · Score: 1

      Oh mother fucker, if you have 45,000 open bugs that's clearly wrong.

      It's so far past "wrong" they need to invent a new word for it.

      If your application has 45,000 open bugs I'd have a hard time understanding how it could even run or stay open long enough to click a button.

      --
      Just cruising through this digital world at 33 1/3 rpm...
    15. Re:Bugzilla by JustAnotherOldGuy · · Score: 1

      45,000 open bugs?

      What kind of shit-for-brains programmers are you clowns hiring? Please tell me the name of your product so I can make never to come within 1000 meters of it.

      --
      Just cruising through this digital world at 33 1/3 rpm...
    16. Re:Bugzilla by sproketboy · · Score: 1

      I would take JIRA over TFS any day of the week.

  3. IBM Jazz Requirements Server by 0100010001010011 · · Score: 1

    Or some such nonsense.

  4. JIRAA by dmbtech · · Score: 3, Informative

    JIRA, plus great integration into 'fr agile' methodology.

    1. Re:JIRAA by BigBuckHunter · · Score: 5, Funny

      JIRA, plus great integration into 'fr agile' methodology.

      We use JIRA as well, but fire all US development employees shortly after each acquisition, in order to replace them with cheaper developers in India. The developers in India do not have access to JIRA, and the few that do have access generally ignore it. Ever 4-5 years we'll delete a project queue to clean up the tickets once our customers choose not to renew their contract.

      Is this not how everyone else does it?

    2. Re:JIRAA by jezwel · · Score: 1

      You don't get fired for buying IBM!

    3. Re:JIRAA by vtcodger · · Score: 1

      Sounds very efficient. Have you thought about automating project queue deletion?How about transferring your development from India to Swaziland? I believe that may be the coming thing.

      --
      You can't see ANYTHING from a car, You've got to get out of the goddamned contraption and walk...Edward Abbey
  5. No bug tracking by maitai · · Score: 1

    We begin fixing any bug as soon as it is discovered.

    1. Re:No bug tracking by 110010001000 · · Score: 1

      I used to do that. Now I just ignore them. It is much easier!

    2. Re:No bug tracking by TheRealMindChild · · Score: 1

      Bwahahaha. Blaming the compiler. What year is it?

      --

      "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
    3. Re:No bug tracking by maitai · · Score: 1

      (I'm sure this will be frowned apon) but we're an online advertising network that's been around since 2007. Maybe we're just really good at not introducing bugs. Or luckier (from your description) that we're not using microsofts toolchain. We also don't do much of what you'd call meetings either.

    4. Re:No bug tracking by Dog-Cow · · Score: 2

      4 hours of meetings every day? You have 4 half-time devs, and you're wondering why you can't keep up?

    5. Re:No bug tracking by sexconker · · Score: 1

      That's what we do.
      We track in problems in email and sometimes also on a separate website for bug fixes / enhancements we want to expose to customers.
      We get to fixing as soon as a bug / inconsistency is discovered (usually by us and not the customer). It's chaotic when big changes are needed, but because we only have 2 or 3 people working on it at any given time it mostly works and allows us to respond within minutes or hours, not in 2 week "sprints".

    6. Re:No bug tracking by MrMr · · Score: 1

      But, that means you don't have time to prioritize them. So things might actually get fixed for the users in a less than perfect sequence. The horror...

    7. Re:No bug tracking by Jeremi · · Score: 1

      We begin fixing any bug as soon as it is discovered.

      An excellent practice, if you can do it without disrupting your workflow or destabilizing your codebase too much.

      But even in the best-case scenario, where every discovered bug is correctly fixed within 5 minutes of you learning about its existence, have a bug-tracking database is still a big help. That way when another user reports the same bug a few days/weeks/months later, you can go back to the bug database and refresh your memory about what the bug was, when it was fixed, and what versions of your software contain the fix.

      That allows you to reply to your user like this: "Ah, you've found bug #12345; we fixed that in release 1.2.7, so you can upgrade to that version or later if you want to, or alternatively here's a workaround that we discovered if you don't want to upgrade right now". Much better than "hmm, I think I remember that Steve fixed something like that back in January, but I'm not sure", or spending several hours trying and failing to reproduce the fault using a codebase that no longer contains the bug.

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    8. Re:No bug tracking by Tomster · · Score: 1

      So, from someone else who has been in the same trenches:

      Most organizations/teams are absolutely terrified of losing information. "What if this is needed/important someday??" What they don't realize is that first, that information is usually never used again; second, it can usually be found again pretty easily; and third, that information quickly becomes outdated with respect to the working code and is consequently MISinformation, not actual information.Then there is the cost of dragging it around, meetings and the psychological weight of "oh my gersh 45,000 bugs uggghh" and wasting time looking to see if a newly reported issue is really just a dupe and....

      I can almost guarantee that at least 90% of those 45,000 bugs can be closed and forgotten about forever. They'll never be fixed, they're incorrect/outdated (either your software has changed or the environment has changed -- do you have defects reported against IE7 and IE8? Do you still have users on those browsers?), and they're just not important enough to fix in relation to the value that could be obtained by working on something else.

      In fact if your team was to throw away the entire bug database and only start fixing bugs that are newly reported, you'd still be ahead of the game. You'd get rid of some useless meetings -- which would give you more time for fixing the bugs actually being reported. That's *really* hard to do, as I mentioned most companies are terrified of throwing something away. (As a crutch, you can keep the existing bug database in read-only mode for a limited period, and then mothball it.)

    9. Re:No bug tracking by david_thornley · · Score: 1

      If I had four hours of meetings a day, I'd find another job. I already mentally mark the end of the last meeting of the day as time to get serious work in.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  6. Redmine by labnet · · Score: 2

    We use Redmine with an assortment of plugins.
    (Recurring Tasks, Base Deface, Base Rspec, Customise Core Fields, DMSF, Edit Custom Fields, Git Remote, Wiki Extensions, Redrisk, Scrum)

    Works great for us by integrating development and maintenance. + it's free and sits on its own little linux VM.

    --
    46137
    1. Re:Redmine by tlhIngan · · Score: 1

      Same.

      For internal projects or where the customer doesn't specify, we use Redmine. It's simple and easy and with a few tweaks you get it working the way you want it (it's open source ruby on rails).

      The Wiki is good for documenting stuff like setting up the build environment and all that, and the issues page documents all the issues with custom fields and all that. It's simple, and searches are not like Bugzilla with a million fields, and it's easy to get to a "all bugs" list so you can reverse sort (highest to lowest) and see what latest issues are. That way new issues can be easily seen and rapidly classified by your CM person (if you're not going through new bugs on a regular basis, they will accumulate).

      With a few plugins to get Gerrit integration and all that to help track fixes for a bug.

    2. Re:Redmine by Stephen+Chadfield · · Score: 1

      I work at a small company with 4 IT staff. Redmine suits us fine. Open source, locally hosted and the application users soon worked out how to submit and track issues.

      We used to use Mantis but wanted some basic project management features. The subversion repository integration is nice too.

  7. Don't write buggy code by sgage · · Score: 5, Funny

    My team gets around this whole issue by simply writing bug-free code from the get-go, and moving on. Saves a lot of hassle!

    1. Re:Don't write buggy code by hcs_$reboot · · Score: 2

      Have you managed to ship Hello, World yet?

      No, it didn't compile.

      --
      Slashdot, fix the reply notifications... You won't get away with it...
    2. Re:Don't write buggy code by fph+il+quozientatore · · Score: 2
      Or, if you use git, just use this command:

      git gud

      --
      My first program:

      Hell Segmentation fault

  8. Re:Easy question by __aaclcg7560 · · Score: 1, Insightful

    But not the junior engineers who are copying and pasting code from Stack Exchange?

  9. We rely on unhappy customers by Anonymous Coward · · Score: 1

    To track our bugs. No need for duplication of effort.

    1. Re:We rely on unhappy customers by fahrbot-bot · · Score: 1

      To track our bugs. No need for duplication of effort.

      Simply call them "features" and charge extra for "upgrades" - problems solved.

      --
      It must have been something you assimilated. . . .
  10. Re:It's hard, but it's important. by maglor_83 · · Score: 1

    Partly though I think because if the close it and it isn't fixed,
    it's their problem rather than the sw devs problem.

    If they haven't either closed it or marked it as not fixed, isn't it still their problem? And how do you release with a heap of untested code?

  11. Use a bug zapper! by Gravis+Zero · · Score: 2

    We implemented a rule where whenever a bug is found in code, the coder has to go lick the bug zapper. It only took three hours... before we killed all the developers. It didn't fix our existing bugs but we haven't had any new bugs (or code) since! ;)

    --
    Anons need not reply. Questions end with a question mark.
  12. simple is better by schematix · · Score: 1

    excel for the long list. notepad for my personal (short term) list.

    --
    Scott
  13. We invert the problem by aquabat · · Score: 5, Funny

    On our projects, we simply count the lines of code that have no bugs at all. It takes far less time, and we can keep track of the good lines on the whiteboard in the conference room.

    --
    A republic cannot succeed till it contains a certain body of men imbued with the principles of justice and honour.
  14. Simple by Tablizer · · Score: 1

    Blame it on the other team.

  15. Issue tracker ... by angel'o'sphere · · Score: 1

    Depending on organization your let someone confirm the bug and avoid dups, then you put it on the Kanban board. Alternatively you have on inside of the team confirming it.

    But: why are you mixing Kanban with Scrum in the same team? That does not really make sense. Unless you switch from sprint to sprint to one or the other paradigm.

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  16. More or a process problem than a tool problem by AndreasL · · Score: 1

    You write that you use Scrum with a kanban board, and a single list of bugs. How do you manage the list?

    I don't think the problem here is necessarily the tools, but might be the process. Do you ever groom the backlog/bug list? How do you prioritise your bugs? You may wish to look a bit on the team culture and think carefully about how you are dealing with older tickets.

    It also sounds like you are building up a debt of bugs, which isn't necessarily the end of the world, but you may want to ensure that you triage and process the bugs in some form.

    1. Re:More or a process problem than a tool problem by TapeCutter · · Score: 1

      I don't think the problem here is necessarily the tools, but might be the process

      Bingo, bug tracking is hard, you need a dedicated admin resource who understands the software to manage the open docket list for any non-trivial project. It the same as source control, you don't let everyone check in whatever the hell they want and stay in business. Also a customer facing tool is not a bug tracker, it's a customer complaint tracker.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    2. Re:More or a process problem than a tool problem by lgw · · Score: 1

      There's no point in tracking bugs for long. If you didn't fix them withing a couple sprints after they were reported, you never will, so you might as well auto-delete them. Nothing of value will be lost, and suddenly you can easily see all your bugs and pick the high-priority ones.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    3. Re:More or a process problem than a tool problem by ctilsie242 · · Score: 1

      I don't get how Scrum even works. The last couple places I worked had daily standup meetings which were at least 1-2 hours, and in one company's case, 4-6 hours. Every. Single. Workday. Plus, the meetings didn't do anything other than just get the same lazy trolls to keep stirring the pot. The PM would go around and ask what people did, and the same people would be wailing and saying that they were blocked by so-and-so, so they cannot do any work today. The person who was supposedly blocking then had to defend themselves or else be called out for wasting people's time. Even if it was an IT person who was waiting for a dev to actually put code into a test environment before it would go into production, the IT person would have to defend why they don't just allow the devs free reign to put their code in the production environment when the dev feels like it to save time. The longer Scrum meetings would leave everyone burned out, and in the few hours remaining of the day, usually it consisted of a late, late lunch, maybe a few tickets updated, and that was it for the day.

    4. Re:More or a process problem than a tool problem by david_thornley · · Score: 1

      The way Scrum works is, among other things, to have fifteen-minute standups that are focused. One way Scrum fails to work is to have standups that last over an hour and accomplish nothing. That will also discourage the developers, and the particularly good ones will go to a company that doesn't use buzzwords to excuse interminable meetings and constant harassment.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    5. Re:More or a process problem than a tool problem by nyquil+superstar · · Score: 1

      It's weird to me people struggle with this... it's so easy. 1. Here's what I did since the last standup 2. Here's what I plan on doing until the next one 3. Here are barriers or impediments that are stopping me. Each thing from item 1 and 2 should have some simple artifact you can point to. It should take less than 3 mins a person.

    6. Re:More or a process problem than a tool problem by nyquil+superstar · · Score: 1

      Couple ways to do this: 1. Hire a good scrum master and/or product owner. They'll have the experience to train and coach you into shape as a team. There is no PM. 2. Get a good book. Essential SCRUM is amazing. 3. Go to a real training. Ways to not do it: 1. Watch a 15 minute youtube video and think you can do it successfully. 2. Break all the core scrum rules.

  17. Triage by Dracos · · Score: 2

    OP needs to triage the list he has, not duplicate all his bug tracking problems. One pass to get the list cleaned up now, then implement an ongoing practice of reviewing new submissions.

  18. Bug tracking? Let me laugh harder. by Anonymous Coward · · Score: 1

    I'm in operations, not development, so I only do some little scripting, but I sit right by people who are apparently honest-to-goodness software developers. This year, I've at least gotten them to accept some tiny bit of structure and (in theory) the idea of testing things somewhere other than the production systems.

    Most of our code was written by brainiacs who have since left. A lot of stuff is just a "black box" to almost everyone. We rarely know how or why it works. When it stops working, we rarely know why, and if we get it to work again, we rarely know how we did it. We don't know why feature X worked on Debian but not on Red Hat in the last release - nor do we know why it now works on Red Hat but not Debian.

    There's talk of a total re-architecting. That might help.

    If it weren't all being paid for with black money, we'd be in trouble.

    1. Re:Bug tracking? Let me laugh harder. by Anonymous Coward · · Score: 1

      If the team can't figure out the current implementation, having them re-architect it will almost certainly be a disaster that will make your current problems look like nirvana.

    2. Re:Bug tracking? Let me laugh harder. by Anonymous Coward · · Score: 1

      Not understanding some code has always been the most horribly misguided reason to re-write it.
      Understanding code and re-writing it because it is needlessly confusing is necessary and happens quite a bit, but if it's code you do not understand you should not even THINK about re-writing it unless at most if you are absolutely sure that
      a) the person writing it was a lot less skilled than you.
      b) any special cases and bug-fixes that have been added or might be causing extra complexity in it are certain to be well-document, reviewed, and you planned them in into the new code you will be writing.

      Otherwise you all you did was replace complex, well-tested, stable code with untested code that is full of tricky bugs and will be vastly more complex before you even fixed half of those.

  19. First, deprogram from the Agile cult by gestalt_n_pepper · · Score: 3, Insightful

    By which I mean, this isn't a collaborative process, or more precisely, it's not improved by collaboration, as so many things *aren't.*

    Then, use any database that makes sense. Preferably one hosted on your local server so it's not deathly slow and/or intermittent. Tack on any UI with a minimum of interface fluff. Add keywords. Using keywords, scan periodically for duplicates. This needs to be ONE person's job, preferably done for the first hour of each day. Never, ever fire that person.

    It's a human language problem. AI isn't good enough. You still need a person familiar with your code and package to review it.

    It's expensive. This is software. You have to pay to play.

    --
    Please do not read this sig. Thank you.
  20. Re: It's hard, but it's important. by Anonymous Coward · · Score: 1

    Why? Mantis Bugtracker will do all of that for you plus provides an API for external consumption/modifications.

    There is literally no reason for homegrown software anymore. Just search GitHub and you'll find 3 good solutions and 10 solutions that, all integrated together, work just as good as what you have to maintain.

    Last company I was at, they shat on Jenkins because it was too slow (50 avg builds using a 2 core 4gb aws VM.. yeah) so they wrote their own. Then complained that it doesn't scale, doesn't handle errors gracefully, and they haven't had anyone to maintain the code for 2 years.

    IT who don't know history are doomed to repeat it

  21. Keep the numbers low by gweihir · · Score: 5, Insightful

    If you do not, no amount of "magic" management and tracking will help. If you keep them low, however, you do not need a lot of tracking, every bug will be unique enough to be memorable or fixed fast enough to not need tracking.

    Of course that means you need to have really good architects, designers and coders. Hard to get but worth the price they will ask.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    1. Re:Keep the numbers low by Kjella · · Score: 1

      If you do not, no amount of "magic" management and tracking will help. If you keep them low, however, you do not need a lot of tracking, every bug will be unique enough to be memorable or fixed fast enough to not need tracking. Of course that means you need to have really good architects, designers and coders. Hard to get but worth the price they will ask.

      As well as clear requirements, plenty manpower, no deadlines and a free pony? In any case, straight bug fixes aren't usually the problem it's more vague issues that either aren't important enough or too rooted in the current design to just fix but ideally you'd gather up, make coherent and implement the next time you redo an interface, module or something like that. On the one side we don't want to simply reject it and forget about it, on the other it's no good if it essentially goes in the garbage bin because nobody will look at it again. And when you get a similar request quickly recognize that you already have it, identify if it's a duplicate or an extension or different angle to the same and merge them. All non-trivial mushy processes.

      --
      Live today, because you never know what tomorrow brings
    2. Re:Keep the numbers low by phantomfive · · Score: 1

      In this case, you will benefit by giving everyone a period each week (four hours, or a whole day) to do nothing but work on bugs. Let everyone choose whatever bug they want from the bug list and fix it. The renewed focus on bugs will focus everyone on producing higher quality code, and can even re-energize the team.

      --
      "First they came for the slanderers and i said nothing."
    3. Re:Keep the numbers low by gweihir · · Score: 1

      Only if you personnel is mediocre. Which is the standard-situation, admittedly. That the result is not very good is also standard.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  22. Re:Easy question by __aaclcg7560 · · Score: 1

    What ad revenue? I use adblock you fat retard.

    You're the exception then. Everyone else doesn't use adblock.

  23. osticket by Anonymous Coward · · Score: 1

    OSTicket http://osticket.com

  24. Trac by Herkum01 · · Score: 4, Informative

    I liked Trac a lot. It integrated Wiki, ticketing and Code repository information all in one and it was easier than Trac. However, it is not new or cool so developers don't think it was hip and always looking at something else.

    1. Re:Trac by Herkum01 · · Score: 1

      LOL, fair enough!

      I missed that typo, I meant to say Jira, which costs thousands of dollars and does basically the same thing.

  25. SCRUM/Agile - the problem by Anonymous Coward · · Score: 1

    SCRUM and Agile had a great idea - improve the process - but often the implementation of these makes it worse. Just like religions in general .

  26. even more agile by senatorpjt · · Score: 4, Interesting

    I wait until some manager comes by my desk and asks me to stop whatever I'm working on and fix whatever bug someone just complained about.

    1. Re:even more agile by MrMr · · Score: 2

      Sounds like you have a cheap and functional prioritization algorithm. Perhaps you should consider selling your managers?

    2. Re:even more agile by DeBaas · · Score: 1

      Sounds like you have a cheap and functional prioritization algorithm. Perhaps you should consider selling your managers?

      I'll sell you mine, in fact there on special offer right now!

      --
      ---
  27. Easy... by drew_92123 · · Score: 1

    We just open tickets describing the issue and toss it over the fence to the team in India to handle.... Why would we want to waste our time fixing bugs when we can pay somebody else to do it? ;-)

  28. The agile way and the real way by Nuitari+The+Wiz · · Score: 1

    The agile way is to keep it as a backlog item until the PO feels its time to fix it.
    The real way is to listen to what front line support say and fix it when the noise becomes too much.
    If its not a priority for anybody, then no one cares about the bug.

  29. Dafuq is this even an issue? by Snotnose · · Score: 1

    You get your job done. Then you look at the bug database and choose a bug to fix. The sooner you get your job done, and the more bugs you fix, the better you look to the boss.

    this question really needs to be asked?

    1. Re:Dafuq is this even an issue? by nasch · · Score: 1

      Is there a canonical answer to what you're supposed to do when you're doing scrum/agile/kanban/something involving sprints and you "get your job done"? In other words, once you finish all the work assigned to you for the current sprint, do you start trolling the bug database (what if you org doesn't have one?), tell the project owner you're out of work, pick something from the backlog that looks appealing, play warcraft, or what?

    2. Re:Dafuq is this even an issue? by lgw · · Score: 1

      Ideally, you pick up the sprint task from your team-mate who is falling behind, so that the team as a whole meets every deadline. I worked on a team that actually worked that way once - it was pretty amazing. Only time I've ever seen scrum done by the book (e.g., managers banned from daily standups).

      --
      Socialism: a lie told by totalitarians and believed by fools.
    3. Re:Dafuq is this even an issue? by WaffleMonster · · Score: 1

      ?), tell the project owner you're out of work, pick something from the backlog that looks appealing, play warcraft, or what?

      https://www.youtube.com/watch?...

    4. Re:Dafuq is this even an issue? by Xest · · Score: 1

      Nothing to stop something else being pulled from the product backlog into the current spring backlog. When you know your velocity in terms of the amount of story points you can tackle in a fixed period you should know what size story can be pulled forward for you to do in the remaining time for the sprint and still result in completion for that particular sprint.

  30. Same diag tools for server issues.. by Anonymous Coward · · Score: 1

    An ouija board and a pack of hunting dogs.

  31. Who cares? by nyet · · Score: 1

    They're all basically the same

    RT, Bugzilla, JIRA, Traq

    Pick one.

  32. Re:Easy question by __aanljs7351 · · Score: 1

    let me correct that before the shitstorm of asshats start applyling logic to words. the slashdot traffic specifically does not generate any revenue directly. slashdot actually does in theory cost me money for bandwidth, but it fits in the tier plan i pay for already.
    the slashdot comments however do generate material for me to discuss on my blog, and non-slashdot people who visit the site do want content to read. it takes me hours and hours for all those books and blog posts and comments, but what else more interesting am i going to do with my time given my limited resources?
    also - forget what i said a few weeks ago. i did mention that my income is not from ads but people buying things from me. that was actually two random people who within a week bought a book, and i projected out that weekly income several years forward.

  33. I made a tool that creates unit tests from errors by BloodSprite · · Score: 1

    It creates a unique hash so that the same error is not duplicated, replicates the all the stack that was instrumented with all the parameters and class variables, and the database accessed so far ( by Entity Framework) . Check it out at ErrorUnit.com

    --
    Lifes a game play to win!
  34. Depends on circumstance by ihavnoid · · Score: 2

    I am more of a half-hardware, half-software person, and was involved in very different projects, each with their own ways of doing it. Here are examples which did work:
    - ClearQuest (ugh) with very draconian rulesets. This is for a team that has a long history of doing things, and with at least 100+ people developing something and there always are some people who won't do the right thing. Not much tight synchronization between contributors required.
    - One gigantic e-mail thread where one person summarizes open issues every week, and closes them when the right code shows up on the master branch of the git repository. This involved roughly 4 people writing the code, writing test suites, writing build systems, and dealing with customer crisis. We agreed that any overhead to setup/maintain a proper bug tracking system wasn't worth the effort given the expertise of the people involved (Verilog hardware designers). Need quite a bit of tight face-to-face synchronization, but that was fine for everybody.
    - Simple Bugzilla.
    - JIRA with very lax policies (anybody can create, reassign, close tickets. Basically no admin/manager at all)
    - Gigantic Excel table maintained by a manager/moderator.

    What I learned was that
    - A tool is just a tool - what actually matters is the people. Claiming a human problem to be a methodology/workflow problem isn't going to make anything work.
    - Start simple - any workflow that tries to anticipate all the possible things that can go wrong will end up being overbloated, and the methodology itself will be ignored because (again) the people doesn't wholeheartedly agree with it. Start with something bare minimal and build up as you (and everybody else) understand the culture of the team.

    In this case the original submitter seems to be concerned of seeing duplicates... I'd recommend one person volunteering to be the 'duplicate cleanup' agent for a while, and let that person try doing it manually for a week or two, and observe where/how dupes get created and what the cleanup job consists of. Or, just live with the duplicates and close them as they appear, if the amount of duplicates isn't that much.

  35. Official bugs go in the Jira backlog by Kellamity · · Score: 1

    A post-it note on my desk lists all the bugs that I know about, but the testing team and users have not found yet. If they will need dedicated testing I will make a Bug or Defect issue for them, otherwise I sometimes just slip a fix in along with something else that's going to be tested.

    Use of labels in Jira helps keep some of the junk findable.

    I have used HP Agile Manager in combination with HP QC in ALM (or whatever the fuck) in the past and don't recommend this approach. Having the defects in a separate system that was supposed to sync across, but didn't always, made things harder not easier.

    If you end up with a lot of duplicates maybe you just need to make better use of the fields in your system to keep everything sorted. HP AGM was a pile of shit but we were able to use it's tagging feature and custom views to get stuff somewhat organised.

  36. Re:Easy question by __aaclcg7560 · · Score: 1

    You shared your delusional karma point total on here, care to share your analytics for your website? Sales figures?

    Nope. Confidential business data.

  37. Focus on human processes by Lanthanide · · Score: 2

    Lots of people have responded suggesting various tools or whatnot. It is quite likely that you already have a good (perhaps not the best) tool for the job, and what you actually need to do is change the processes that humans are following.

    The best way to approach this is to use the "5 whys" approach, where you state the problem (or group of problems) and ask "why" 5 times to try and work out the root causes, then address them.

    Eg, Problem: We have too many duplicate error reports. Why? Because testers don't know about existing bugs before raising new ones. Why? Because the testers don't search for existing issues on the backlog before raising new ones. Why? Because they haven't been trained properly.

    Other possible answers for the above train may be "our backlog doesn't make searching easy" or "testers don't have a consistent way of recording issues so its difficult to find the same issue raised by different testers".

    Anyway, you can do the 5 why's process yourself, but some potential root causes and responses you can take:

    You have too many bugs in your software, so it's going to be hard to get on top of them no matter what processes you put in place.

    * Perhaps there are developers in your team who don't have a good understanding of the system and generate bad code -> training or peer-programming might help.
    * Perhaps your fundamental architecture needs to be refactored / improved / better documented to reduce the incidence of bugs.
    * Perhaps your team has too much work load or is under too much pressure to get features out on time that you don't have adequate time to address your bugs, and they're building up into an unmanageable pile.
    * Perhaps people on your team don't think it's their responsibility to fix bugs in their own code or they don't think it's 'fun' - someone else's job - and other people aren't proficient in that area of the code and so take longer to fix the bugs, or create new bugs in the process.
    * Perhaps your team is just more interested in pushing through to 'new' things, and don't take the time to clean up bugs as they go, building new code on top of bad.

    Other problems might arise from the testers.

    * Perhaps you have lots of different people testing the software and raising bugs (instead of a core team of a few testers who become intimately familiar with the software), and they all have their own writing style or way of recording bugs, making it hard for any tester to know if any other tester has already raised a bug.
    * Perhaps your testers just don't talk to each other - "oh yeah, I saw something like that 2 weeks ago...".
    * Perhaps your testers don't search through the existing issues before raising new ones - perhaps because the tool doesn't support it well, or simply no-ones told them its a good idea to do.
    * Perhaps your software doesn't have a good way of reporting bugs - if your software crashes, having consistent and common output to allow testers to identify "crash X is the same as crash Y" means they don't need to raise a second bug to report Y, instead they could just find the report for crash X (by searching for unique output in the crash) and add their new incident there.

    Another thing to consider is that maybe you just need to groom the backlog from time to time. Go through and look at *all* the bugs in one sitting, and you might quickly find duplicates that you can merge/link together. You might also find that there's a bunch of bugs that you know you'll just "never" fix because they aren't important, so these could be closed or moved elsewhere to minimise the noise in the system, letting you focus just on the important stuff that matters.

    Don't expect that there is going to be a 'quick fix' from adopting a new tool. It is very likely that some of the above human processes are contributing to your unmanageable backlog, and moving to a new tool won't markedly change your performance.

  38. CMM level 1 by Michael+Woodhams · · Score: 1

    I've had a meandering career which went from academia to industry programmer and back to academia. My new academic field (phylogenetics) can have a fairly high programming content, but universities don't usually have the level of organization around programming that an industrial organization does.

    Shortly after I started my new job, my boss/head of lab came to me. He'd received a survey asking organizations about their programming procedures (i.e. much like this question.) Having learned about CMM (Capability Maturity Model) at my previous job, I had the perfect answer for him. "Tell them that we are a CMM level one organization".

    Translated: CMM level one means everybody does whatever the heck they feel like.

    --
    Quattuor res in hoc mundo sanctae sunt: libri, liberi, libertas et liberalitas.
    1. Re:CMM level 1 by Michael+Woodhams · · Score: 1

      P.S. actually answering the question, from the point of view of the company I used to work for (15 years ago).
      When I started, we used a home-grown job/bug tracker. We transitioned to ClearCase (source control) and ClearQuest (job tracking). There was supposed to be wonderful interoperability between them, but it turned out that (at the time) this interoperability only worked in Windows, and we were a Unix shop, so I (and some others) had to cobble together some interoperability of our own. I wrote a daemon in Perl which could listen for messages on port 6502 (my first CPU) generated by scripts checking in code in ClearCase, and pass the information on to ClearQuest to populate the list of code changes belonging to the job.

      --
      Quattuor res in hoc mundo sanctae sunt: libri, liberi, libertas et liberalitas.
  39. Re:It's hard, but it's important. by Aighearach · · Score: 1

    And how do you release with a heap of untested code?

    You just build the installer, and upload the package. Exactly the same with tests, or without.

    If it was different, you'd have to account for all those times where you tests, they just didn't test for the bugs.

  40. Avoid monolithic "components" by SpaghettiPattern · · Score: 1

    At our organisation I'm responsible for two large (sub)systems -1 DB with more than 6E12 records and one critical online and batch document processing system- and a handful of smaller ones. We don't run any software to track bugs.

    We work in a way to avoid the chores of tracking bugs by dividing our software into smaller components with clearly defined interfaces. Typically, after a release where testing wasn't what it should have been, an overseeable period of instability starts and issues are dealt with until total stability sets in. Usually one person leads the development of a component and a second person is knowledgeable.

    We reengineer stuff only to improve performance or quality. As interfaces are set that's not too big of a problem. (Even though making stuff simpler and better is actually very hard.)

    Not saying this is applicable to any organisation. But in short I'd say to divide your problem and to fix all bugs until all issues are fixed. Have a lead developer and a backup for each component. Have an experienced developer (one that can actually code) dividing big problems up into smartly smaller ones.

    --

    I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
  41. Newspapers by thegarbz · · Score: 1

    Basically when you buy a dead tree newspaper the severity by which any bug should be addressed is related to which page it appears on. If your software is mentioned on page 15 then you're good. If you hit the front page then you have a critical vulnerability and you should move to addressing the bug.

  42. Post its, Excel sheets and E-Mails by Qbertino · · Score: 1

    We're an agency.

    I'm leaving at the end of this month. :-)

    --
    We suffer more in our imagination than in reality. - Seneca
  43. Simple... by johanw · · Score: 1

    Hey, you. The customer complained about a bug, go contact him and solve it ASAP.

  44. First you have to decide what type of defect it is by dwarfking · · Score: 1

    What we do is first classify variations of bugs. During development testing cycles, any defect found in testing becomes a defect subtask, and is prioritized right along with any other work subtasks under our current feature.

    After code is deployed into production, any reported defects are captured as a higher level defect ticket (not subtask) against the application/component, not necessarily a specific project effort. If the defect is a true production issue that must be corrected, necessary work subtasks are attached to the defect, it is corrected, tested and deployed as an independent work effort.

    If the defect is either acceptable until the next release or working as designed but not intended (not really a defect), then either the defect ticket is migrated to become a new change request in the project pipeline or the defect is closed and a change request ticket is created referencing back to the defect as part of the story's requirements.

  45. If you have a better idea, I'd like to hear it. by djrosen · · Score: 1

    We use JIRA. All items that are believed to require a DEV ticket must get past a team of gatekeepers (Triage Team.)

    Tickets are reviewed for completeness, reproduction details, any logs that may be required and sample user(s) that can be used to reproduce the issue.
    The Triage team searches for duplicates and attempts to replicate and then either promotes the ticket to DEV, sends it back to the requester for more detail or closes it as a dupe and links the original.

    Any support tickets that come in with the same issue are linked to the DEV and once the DEV is closed, tickets are set to Pending Rollout.

    The process sucks. Support hates it because it is often a struggle to get through the obvious bugs and DEV likes it because they get less duplication.

  46. Ask a different question: how to have fewer bugs by jarrowwx · · Score: 1

    Your setup will work fine if the definition of a story includes all the tests that will be tested as part of validating the story, and the definition of done includes all tests passing, and preferably automated. Your stories will be higher quality the first time around.

  47. FogBugz by Jeremi · · Score: 1

    It works fine, it's easy to understand, it doesn't get in the way, and it more-or-less does what we want, so we can spend our time wrestling with the bugs themselves, rather than fighting the bug-tracking system. We've used it for about 10 years now, and we're happy with it.

    --


    I don't care if it's 90,000 hectares. That lake was not my doing.
  48. Tools vs. Processes by rwa2 · · Score: 1

    Stick with whatever tool your team knows how to use well... switching tools too often isn't going to make up for the minor efficiency boosts for upgrading your ticketing system. That said, maybe you want to use a new project / product / major release to use as an opportunity to introduce (but not test -- you've already done testing using a throwaway project, hopefully) a new ticketing system.

    Kanban has a triage process, where you spend a bit of time doing some housekeeping on your tickets to find and eliminate duplicates and mark low-impact as "won't fix".

    Later on, when you notice some bugs getting lots of duplicates filed, you'll come to the conclusion that those are pretty high-visibility bugs, which might possibly be a useful metric the next time you prioritize.

  49. Tracking bugs isn't that hard... by gosand · · Score: 1

    All you need is a decent tool and a reasonable methodology, and of course someone to track and enforce it.

    I've used everything from a home-grown system to JIRA to Quality Center to TFS. I've seen basically no enforceable rules (which sucks) to ultra-precise rigid workflows (which really sucks).

    We once had a severity 1 issue come up which we quickly fixed. Turned out it wasn't a sev1 by definition (no workaround) but since we fixed it quickly we didn't care all that much. Then a senior manager saw we had had a sev1 for the release. After explaining to him that it wasn't really a sev1, he demanded we change it because it was a blemish on the release and he wouldn't have it. Per the rules in the tool, you couldn't change anything in a bug once it was closed.

    I had to call in a favor to someone I had a good relationship on the IT tools team. He wouldn't reopen it so I could change the severity, but he agreed to change it for me after I had a few other people join in on the email chain and back up my story. It took a few DAYS to make that happen.

    I have done a lot of work on metrics around bugs, trends over time, etc. It can be a REAL pain if over a couple of years you've gone through process and people changes. If you care at all about trying to pull metrics,define the key fields for your data as best you can, and enforce consistent use of them.

    --

    My beliefs do not require that you agree with them.