What development process do you use at Discourse?


(Nicholas Perry) #1

Speaking of “gotten there”, what are you using for a development process behind the scenes?

One of the nice things about stackoverflow was that we got a good sense of what was a priority or not based on your posts on your blog (assuming this is Jeff behind the codinghorror account). But I never got the sense of how you and your team actually kept track of everything. I would assume you were doing something like Trello/Kanban considering you worked with Joel, but I don’t actually know for certain. Maybe I missed the related blog posting?


Collapsing post notifications?
(Jeff Atwood) #2

You may wish to read

http://www.codinghorror.com/blog/2009/07/software-engineering-dead.html

I’m not a big fan of lists, personally. I think it’s important to have a vision of where you want to go, and then think about the next two steps you need to take on the path toward your destination.

Mostly we build it as we use it. Some things don’t become clear until we’ve used our own software for a few weeks.


(Nicholas Perry) #3

Thanks for the link to the blog post! I vaguely remember that one but I don’t think I actually invested much time reading the auxiliary links. It makes a lot more sense now given the context.

I’m a big fan of ubiquitous capture and processing things ala the GTD system, but I use a more minimalist system when I code based on zen-to-done method and the Most Important Things. I understand not worrying about things until they matter, however I’ve found great value in capturing ideas and making decisions on what to do next given the various priorities on the project. Many of the ‘next two steps’ are pulled from the little brainstorms that happen during development or even when I’m thinking about things right before sleep / in the shower.

What do you do when you run across a bug or think of a neat thing to do while working on other issues/features? Do you keep a mental list in your head or just ignore them until they become painful?

A kanban/scrum system also helps when you have 3rd party demands since you can sort the cards relatively easily while they are in the back-log. Perhaps you don’t have those demands? We put a limit on the backlog in-lines with Joel’s ideas of software inventory once we have 20 or 30 items on the pending to-do, we have to sacrifice an idea before we commit to doing a new one.


(Sam Saffron) #4

One thing I learned working with Jeff is that often the need of complex todo lists and kanban boards is lack of focus and direction.

If nobody knows what to work on, sometimes people step in with the kanban board and think that it alone will fix the lack of focus.

That said, I am incredibly pragmatic, I want systems that work with our current community.

I have been toying with the idea of writing a plugin that allows me to highlight any bit of a post on discourse and immediately associate that chunk with a new or existing bug. Mainly as a tool to tie all the separate conversation about one issue together in a couple of clicks.


(Chris Hanel) #5

Now, take that a step further: Have the plugin auto-reply to the original thread when a bug or feature has been designated for active development or when the resulting change has been pushed live, so that those originally interested (and thus the most enthusiastic to help) can immediately rush to test it.


(Sam Saffron) #6

Indeed, and you give them a badge for being first to report the bug :smile: and a badge for the person who fixed it


(Chris Hanel) #7

Exactly. The more that people feel that their post is the actual first step in a bug being fixed, instead of just an exercise of waving their arms wildly hoping a dev will notice them, the more they’ll feel confident in their time being used productively and be willing to contribute more.


(Nicholas Perry) #8

Did anything ever come of this? The Bug aspect is an interesting one and is something that I see a lot of value in keeping track in a system, even if its just on github.


(Sam Saffron) #9

One day, I promise, when I have time to breath :slight_smile: