Is using Discourse to track bugs a WTF?


  • ♿ (Parody)

    I get that, but I'm still in shock that you guys seem to just use Discourse topics as your bug tracker.



  • Wait, uh, isn't the git repo or whatever the actual bugtracker?
    You can't use a forum as a bugtracker 😃


  • ♿ (Parody)

    @dhromed said:

    Wait, uh, isn't the git repo or whatever the actual bugtracker?

    I went to one of the github thingies looking for evidence of tracking. Not even a link back to the forum topic. 😦



  • Believe it or not...


  • ♿ (Parody)

    I also looked at some of our local bug threads and I didn't see any indication of status. Other than as a ninja request thing, how can you filter by status? Is that even doing anything?

    I changed to closed, and now I see little locks, so I guess a mod goes in and shuts something down. I guess that's maybe the best you can do for workflow when misusing a forum for a bug tracker. I would think that having discourse manage comments for the tracker would be reasonable, but I still think it's a horrible way to manage stuff.

    At least if you had tags in Discourse, you could hackily track version affected / fixed or stuff like that. I can get over differences in philosophy for stuff like infinite scrolling (though I'm far from the pagination-jihadis [pagihadis?]), but this just seems like self sabotaging for any serious project.


  • Banned

    In my experience, the value of dogfooding > value of arbitrary correctness.

    It is also roughly a fit. Now if we were using air traffic control software or 3d modeling software to keep tabs on bugs...


  • Banned

    @boomzilla said:

    At least if you had tags in Discourse

    We actually plan to have an officially supported tag plugin in some time in the future. Which I am sure we will use to help us out here.



  • @sam said:

    We actually plan to have an officially supported tag plugin in some time in the future. Which I am sure we will abuse to help us out here.

    FTFY


  • Considered Harmful

    @ben_lubar said:

    FTFY

    Some of them want to abuse tags, some of them want to be abused.



  • Which smooth scrolling extension was that? I had one that came with my Logitech mouse, and I uninstalled it about 30 seconds later on every browser because it made scrolling so much worse pretty much everywhere.


  • Discourse touched me in a no-no place

    @codinghorror said:

    In my experience, the value of dogfooding > value of arbitrary correctness.

    There's value in dogfooding. There's also value in a bug DB. They serve different purposes (the bug DB becomes much more valuable once you start needing to assign bugs to people; if it would be “@sam” for virtually everything, you don't need it 😉).


  • ♿ (Parody)

    @codinghorror said:

    In my experience, the value of dogfooding > value of arbitrary correctness.

    I don't know why you'd use the term "arbitrary correctness" here. It's about using the right sort of tool for the job. A real tracking application allows you to prioritize, search, sort, categorize, assign, estimate, track level of effort and keep an eye on progress. Using Discourse for this is a step above emailing stuff around, but it's still pretty awful.


  • Banned

    The essential bits of that we can do in our own product, rather than helping beta test someone else's idea of what "bug tracking" means. I'd rate dogfooding at the very top of any list of priorities. The more time you spend in your own software, the better it will be.



  • @codinghorror said:

    The essential bits of that we can do in our own product, rather than helping beta test someone else's idea of what "bug tracking" means.

    I'm sure glad you're not making a MS Paint replacement.


  • ♿ (Parody)

    @codinghorror said:

    The more time you spend in your own software, the better it will be.

    So what else do you misuse Discourse for? Is it also your IDE?


  • Banned

    Well, I guess that's why my previous project, Stack Overflow, was such a resounding failure, right? ;)

    If you like bug trackers, use a bug tracker. Godspeed to you sir.

    I feel that discussion software and directed Q&A are close enough that they can work, and you get the MASSIVE benefit of extensive dogfooding. I cannot emphasize enough how important it is to spend 24/7 in your own software, using it, extending it, watching others use it, watching others fail to use it, etc.



  • To what extent? Will you be doing your company accounts and legal documents in Discourse because screw other people's ideas of what accounting and word processing software should be?



  • @codinghorror said:

    I cannot emphasize enough how important it is to spend 24/7 in your own software, using it, extending it, watching others use it, watching others fail to use it, etc.

    But you're not using it, you're abusing it. And not only does it make bug tracking harder, because you're hammering nails with a screwdriver - you also get the wrong feedback.

    The point of dogfooding is not to "use your own software (and try not to get insane in the process)", it's to put yourself in the perspective of an end user. And no end user is going to use Discourse as a bug tracking platform.

    By using it for bug tracking, you have an idea of how useful Discourse is as a bug tracker. And that's a whole different use case than intended, with different requirements, and ultimately, different expected features.


  • ♿ (Parody)

    @codinghorror said:

    Well, I guess that's why my previous project, Stack Overflow, was such a resounding failure, right?It's how we've always done it!

    FTFY. Perhaps Discourse is an improvement on bug tracking over Stack Overflow. That doesn't make either of them actually good at it.

    @codinghorror said:

    I feel that discussion software and directed Q&A are close enough that they can work, and you get the MASSIVE benefit of extensive dogfooding. I cannot emphasize enough how important it is to spend 24/7 in your own software, using it, extending it, watching others use it, watching others fail to use it, etc.

    @Maciejasjmj said:

    But you're not using it, you're abusing it. And not only does it make bug tracking harder, because you're hammering nails with a screwdriver - you also get the wrong feedback.

    I mentioned before, why not graft discourse onto something made for what you're doing? You'd get the dogfooding benefit (which I totally agree with, BTW) without sabotaging your ability to manage your project?


    Filed Under: Blub


  • Banned

    "Bug tracker" is just a fancy term for "let's discuss problems", and discussion is what Discourse does. Many, many people will use Discourse to discuss and attempt to resolve problems that they face -- just like we do.

    You can read more about my philosophy here:

    Discussion software is also way more flexible than the directed Q&A we had at Stack Overflow/Exchange, so this is an even more defensible case.

    Shrug. You do it your way, I'll do it mine. I've had considerable success with my methods.


  • ♿ (Parody)

    @codinghorror said:

    "Bug tracker" is just a fancy term for "let's discuss problems", and discussion is what Discourse does

    Except you forgot about the "tracker" part, where you get a lot of extra stuff unrelated to discussion. That's just one part of what a tracker should do. Discourse allows you to kinda sorta do some of the others, but not very well.

    @codinghorror said:

    Shrug. You do it your way, I'll do it mine. I've had considerable success with my methods.

    ...and aren't interested in improving? NIH?


  • Discourse touched me in a no-no place

    @codinghorror said:

    I cannot emphasize enough how important it is to spend 24/7 in your own software, using it, extending it, watching others use it, watching others fail to use it, etc.

    I mostly agree with you, but think that there are things about bug tracking that don't match “Q&A system” or “discussion board”. In particular, bug trackers do things like providing ways of assigning bugs to people, getting metrics on what needs doing, etc. Part of a bug tracker is a commentary thread (per issue) but it's only part. (Part of a car is an engine — it's an important part too — but we don't just drive engines.)

    I've also seen bug tracking done with DVCSes. That's also pretty weird (but pretty nice when you're working offline, which I mostly am when I'm commuting due to the local topography of the route).


  • Banned

    @boomzilla said:

    aren't interested in improving?

    I think the mindset you describe is the reason why many projects aren't successful. The bug tracking tool becomes a bludgeon you deploy against your users (and often your coworkers), rather than something you use to communicate with them.

    Who "enjoys" using a bug tracker? Certainly not your users. And probably not your team. There's the problem, right there. Put users and developers in a place where they can socialize and collaborate, instead.

    I dunno, I am a radical on a lot of this stuff. If you want the software engineering playbook best practices party line, you won't be getting it from me. I don't believe in it.


  • ♿ (Parody)

    @codinghorror said:

    Who "enjoys" using a bug tracker? Certainly not your users. And probably not your team. There's the problem, right there. Put users and developers in a place where they can socialize and collaborate, instead.

    There are certain aspects of it that I love. Like having a list of things to work on, so I can plan my day / week / month. It gives you an easy way to tag your commits so you can go back and see more detail on why you did what you did. And can show the customer that today's bug was yesterday's feature request.

    Day to day, I use Jira, and the commenting on there seems fine to me. I'm not sure it would be a major improvement to use something like Discourse, but I wouldn't be against having something like that as part of it.

    My customer loves our Jira installation, actually. He can communicate stuff to us and see what we're doing. It tracks everything and he can prioritize and discuss things with us there.

    @codinghorror said:

    I dunno, I am a radical on a lot of this stuff. If you want the software engineering playbook best practices party line, you won't be getting it from me. I don't believe in it.

    Do you still take your horse and buggy to the market, too?



  • You can use Discourse to track bugs. You can use DVCS to track bugs. You can even use a shared Word document to track bugs, and if that's how you roll - that's fine. It's definitely a WTF, but it's your project, and if you're willing to make your life harder by dismissing all bugtracking-related features - have fun.

    But it won't improve Discourse as a forum software. Because you're not dogfooding it as such.


    Filed under: SSDS Discourse is the answer to everything


  • Banned

    @Maciejasjmj said:

    But it won't improve Discourse as a forum software. Because you're not dogfooding it as such.

    Sure we are -- we're discussing problems and solutions with the software, just like anyone else would discuss problems and solutions with, oh, I don't know, their school, their work, their life.

    Discussing how your software works, with the users who use your software, is as fundamental as it gets -- and it is absolutely what discussion software is designed to do.

    I mean, shit, we're doing it RIGHT NOW.


  • Discourse touched me in a no-no place

    I note Mr Betteridge has made an appearance. Or rather his inverse...


  • Banned

    Wow, Jira. I would not wish that on my worst enemy. But then, to be fair, some here would say the same about Discourse.

    So I guess opinions vary?


  • ♿ (Parody)

    @codinghorror said:

    Wow, Jira. I would not wish that on my worst enemy.

    Why not? Seriously.

    @codinghorror said:

    But then, to be fair, some here would say the same about Discourse.

    As a bug tracker, I totally would. But maybe I'm just not as nice as you.



  • @error said:

    Some of them want to abuse tags, some of them want to be abused.

    https://www.youtube.com/watch?v=QByS2UdrTt8



  • Can you assign a bug to a developer in Discourse and update it's status, and if not, are those not important things for a bug tracker to have? Genuine question.



  • @codinghorror said:

    Discussing how your software works, with the users who use your software, is as fundamental as it gets -- and it is absolutely what discussion software is designed to do.

    Sure. But the point of having an organized bug tracker is to filter out the noise and keep the important details. You get an actual list of bugs, instead of posts thrown into various threads, 90% of which are unimportant comments not adding to understanding of a problem.

    I mean, honestly - would you replace StackExchange with Discourse? Sure, it can be used for Q&A, which is a limited subset of the overall concept of "discussion". But SE has features which make it a better fit for its intended purpose.

    Same goes for bugtrackers.


  • Banned

    Yep, just @username mention someone in a topic. Status is indicated by whether the bug topic is currently open or closed.

    So you might say "gee, show me all topics of type bug where I was @name mentioned that are currently open".


  • Banned

    @Maciejasjmj said:

    I mean, honestly - would you replace StackExchange with Discourse? Sure, it can be used for Q&A, which is a limited subset of the overall concept of "discussion". But SE has features which make it a better fit for its intended purpose.

    Same goes for bugtrackers.


    As covered above at length -- the value of dogfooding vastly, VASTLY outweighs the minor benefits of having a so-called "bug tracker". You are now spending your time in someone else's software.

    Of course it depends what kind of software you're writing, but as I said above, discussion software is even more general than directed Q&A and an even better fit -- the goal is to have fun talking to your users and customers and coworkers, not a tool for bludgeoning them.

    I feel like we're just repeating ourselves now. You guys use whatever you want -- the proof is in the results, and there's more than one path to "correctness".


  • Discourse touched me in a no-no place

    @codinghorror said:

    So you might say "gee, show me all topics of type bug where I was @name mentioned that are currently open".

    So, when the bug under question gets reassigned to @othername, then maybe over to @newname, the bug will still come up in your search, even though @name has nothing at all to do with the bug any more?



  • @codinghorror said:

    Yep, just @username mention someone in a topic. Status is indicated by whether the bug topic is currently open or closed.

    So you might say "gee, show me all topics of type bug where I was @name mentioned that are currently open".

    So you're creating software which has a fairly generic set of capabilities, and you're trying to use it for a multitude of purposes for which there already exists specialized software.

    Are you SpectateSwamp's sockpuppet?

    @codinghorror said:

    the goal is to have fun talking to your users and customers and coworkers, not a tool for bludgeoning them.

    Formal processes exist for a reason. Mostly the reason is "they scale up". It's nice to "have fun talking", but at some point, using a general purpose software for specific tasks and doing everything informally simply won't cut it anymore.



  • I don't agree, @codinghorror.

    I agree on dogfooding, wholeheartedly - you need to use your own software in the way that users will use it. But, as said up there ^^^ users won't use discourse for bug-tracking.

    We make IT-xxxxxx (not porn!) software, but the powers that be insist we also use it for CRM and purchase order management, and it's just horrific - minimal actual benefit and tons of wasted time. Salespeople should be concentrating on sales, rather than on trying to bend IT-xxxxx software to pretend that it understands leads and opportunities.


  • ♿ (Parody)

    @codinghorror said:

    You guys use whatever you want -- the proof is in the results,

    Yes, and my "results" are things like reduced chaos. Like I said, Discourse would be fine if it were a part of a bug tracker, but it's TRWTF if it is the bug tracker.

    The advantage that you have is that you have the sort of project where you can fly by the seat of your pants and get by. And that's great. I have some personal projects kind of like that. I mean, no one is relying on you providing critical capability for their organization via Discourse or StackExchange like they would with ERP or accounting or whatever software. So I can see why you value the benefits less.

    But this reads like a front page article where the boss refuses to listen to common sense and orders the parking lot to be paved with solar panels.


  • Discourse touched me in a no-no place

    @Maciejasjmj said:

    Are you SpectateSwamp's sockpuppet?

    Can Discourse search my desktop? And fast forward through videos too?



  • @boomzilla said:

    So what else do you misuse Discourse for? Is it also your IDE?

    Well of course. Why do you need files? They're an arbitrary obstacle to coding.


  • BINNED

    @dkf said:

    Can Discourse search my desktop? And fast forward through videos too?

    Well, it has random! Hit end, grab the scrollbar, and swipe it up. See what you get! You'll find posts you forgot you even saw!


    Filed under: I'm sure we could bind it to a keyboard shortcut, too!


  • ♿ (Parody)

    @codinghorror said:

    Wow, Jira. I would not wish that on my worst enemy.

    You haven't replied to my follow up on this. Maybe you're just busy, but I'm going to bump that and ask for what Discourse gives you that Jira doesn't. And why Jira is inferior to Discourse for this purpose.

    Right now, my working assumption is that this is a blakeyrat sort of ignorance about the tool and a refusal to learn because it doesn't do things exactly the way you like. Your talk about dogfooding here sounds like a defense mechanism, unless you really don't understand the benefits of what real bug tracking tools can do for you.


  • ♿ (Parody)

    At Inedo, we use Jira for change management, which is something we consider a separate but related problem to bug tracking.

    We use Jira to document and plan the changes that are in each release (and then generate release notes off of them). This is important for our final QA testing and also for customers to know if they should upgrade (see http://inedo.com/buildmaster/release-notes for items from Jira).

    Bug tracking, on the other hand, is a problem that arises from making a change, or a thing we happen to notice like weird stylings. We use various ghetto methods for Bug Tracking (whiteboards, post its, Asana, notepad, etc). There's really no standard, it's all very casual, since they're fixed in very short order.

    We found Jira to be inadequate to deal with our casual bug tracking requirements. Just feels like too much process for too little gain.

    So, while I can't imagine using a forum for bug tracking, it's probably better than some of the methods we use for bug tracking, and if it works for @codinghorror's team, why not?

    They use GitHub for Change Management, which is about as accurate as CM can be. And I think it makes sense, given the continuous deployment model being used.


  • ♿ (Parody)

    @apapadimoulis said:

    We found Jira to be inadequate to deal with our casual bug tracking requirements. Just feels like too much process for too little gain.

    This sounds fairly reasonable. Definitely a different standard than, "wouldn't wish it on my worst enemy." I like to have the track back to how the bug (or feature request!) came into being. That's a great thing to have to be able to show customers, let alone project management.

    There's definitely value in not doing any changes that haven't been put into an issue and approved, though different projects will have different thresholds for this.

    @apapadimoulis said:

    They use GitHub for Change Management, which is about as accurate as CM can be. And I think it makes sense, given the continuous deployment model being used.

    I've never actively used github. It looks like they can tag releases. Github seems to have its own issue tracker (probably a better term than bug tracker), but their project doesn't use it. Heck, they don't even seem to care to keep track of all of their issues in one place. Do other installations have meta / bug categories?

    @apapadimoulis said:

    and if it works for @codinghorror's team, why not?

    Obviously, they're getting by. A lot of WTF processes "get by." That doesn't make them non-WTF. I think a centralized issue tracker built for purpose (maybe even with discourse topics for each issue) would make their lives a lot easier.


  • Considered Harmful

    @boomzilla said:

    maybe even with discourse topics for each issue

    I could definitely see some kind of Discourse/bug tracker integration as a non-WTF way to discuss issues and track their status.


  • ♿ (Parody)

    GitHub does have an issue tracker; it's fairly inadequate as far as issue trackers go, but it does have some nice things (I guess?), like if comment Fixed #3 in your commit, it will close the issue. The main benefit is that it's pubic, and a secondary is that it tightly integrates with the codebase.

    I guess using a bug category is about as inadequate, though the lack of a closed status seems like it could be challenging. I guess you could just use a 🔒 to indicate the same. The main benefit here is that it's tied very closely to the community that discovered it, very easy for community members to discuss it, share workarounds, etc. I think that's better than being next to the code, which most communities don't give a crap about.

    I think Jeff mentioned monitoring a dozen or so installations, and even if they all have a dozen active bugs (like we do), that's easily manageable with a spreadsheet. I mean, I wouldn't want to manage that, but it's not thaaaat bad, especially if they're fixing them fast.


  • ♿ (Parody)

    @error said:

    some kind of Discourse/bug tracker integration as a non-WTF way to discuss issues and track

    Definitely. This seems the way to go; it'd be quite similar to existing topics, could feed into a central repository, and could get actual statuses (instead of LOCKED) or whatever.


  • ♿ (Parody)

    @apapadimoulis said:

    that's easily manageable with a spreadsheet

    For a while. Then you'll start putting stuff in Access so you can query stuff better. And then you'll share it online with your team so everyone can see who's working on what. Maybe add an actual web front end for those weirdos who don't have Office installed.


    Filed Under: Let's reinvent the wheel all over again



  • @codinghorror said:

    Yep, just @username mention someone in a topic. Status is indicated by whether the bug topic is currently open or closed.

    So you might say "gee, show me all topics of type bug where I was @name mentioned that are currently open".

    Except now you're limiting your bug tracker to two states. In the system I use, we currently have 5 possible states for our bugs:

    • Pending - equivalent to Open
    • On Hold - generally used when there is some obstacle to actually implementing a fix. These get reviewed on a weekly basis to see if they can be put back in a tracking status.
    • Cancelled - for some reason or another, the bug has become a non-issue. Either it could not be replicated, there were multiple tickets, etc.
    • Completed - this indicates that the fix has been completed and verified. It just needs to be published.
    • Released - the fix has been completed, verified, and published.

    Let's see you duplicate that with a simple Open or Closed topic.

    Plus, with many bug tracking systems, you can have multiple levels of conversation on the bug. You can have public conversations, which involve the user and the team working on the bug; or you can have private conversations which only involve the team. That way, you don't overwhelm your end users with the technical conversation that might go on while trying to correct the issue. Unless there's a feature I haven't found yet, you can't do that in Discourse while keeping all the conversations connected. While it may not be a concern here at TDWTF, it could be an issue to keep in mind elsewhere.


  • Discourse touched me in a no-no place

    @abarker said:

    Pending - equivalent to Open
    On Hold - generally used when there is some obstacle to actually implementing a fix. These get reviewed on a weekly basis to see if they can be put back in a tracking status.
    Cancelled - for some reason or another, the bug has become a non-issue. Either it could not be replicated, there were multiple tickets, etc.
    Completed - this indicates that the fix has been completed and verified. It just needs to be published.
    Released - the fix has been completed, verified, and published.

    Oh, that one's piss easy.

    You just keep changing the title of the thread/topic/whatever; prepend it with <state>:

    @abarker said:

    You can have public conversations, which involve the user and the team working on the bug; or you can have private conversations which only involve the team.

    Again - easy - you fork/reply with new-topic, assign it to no-category and have all your team as staff, so they're the only ones who can read/access it. You may have to tweak the subject so it's not a duplicate of the one you're forking however. Maybe prepend/append 'nocat' to it?

    And you'll have to synchronise the states of the two threads...


Log in to reply