-
-
Notifications
You must be signed in to change notification settings - Fork 10.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposal: options for issue prioritisation #17337
Comments
My ideal preference would be a separate bug-tracking system, but that's not a great solution for external contributors - I've been to more than one OSS project where another place for Issues were used, and I simply didn't want to register to submit a bug, etc. - In short, it's a very high barrier to entry, and not something I would deem appropriate for HBC. (Excellent return on effort, good transparency, but super high barrier for new contributors) A document on the repo is actually moving in the wrong direction, I feel - instead of atomic, separable issues, you get links out to other things, for no real reason other than to prioritize. Keeping this list up to date becomes more work, and seems a bit unwieldy. (Low return on effort, and needs to be done every time) While not perfect, I propose a revamp of the labels and (ab)using the Milestone system. You can filter by both label and Milestone, and since it's on GitHub, theres no particularly large learning curve. (Medium return on effort, minimal barrier to entry) There's a lot of literature on the subject, and while I have my own thoughts on the matter and a proposed system I can expand upon if there's interest, some links to get the discussion rolling. http://radek.io/2015/08/24/github-issues/ tl;dr: Let's use issues but fix our labelling system to make things easier to track (priority-wise) and friendlier for contributors. |
Do you mean “not a great solution”? My take on milestones:
The second con is mitigated by the pro, and the first might just be my impression, so it still comes out positive. I feel relying on people (both contributors and maintainers) to filter issues is likely a losing proposition. Usually issues are seen in a light of “let’s see what’s there” instead of “let’s look for something related to this”. Labels help to visually distinguish stuff when looking at everything, but filtering is (I feel) less used. In all, I agree with all your criticism, and that revamping labels (we need fewer of them; some like |
Yes, meant not a great solution. Updated post to avoid confusion. Visibility of issues/milestones is, I feel, a direct result of our documentation - If CONTRIBUTING is short but links out appropriately to URLS (you can link directly to labels/milestones), that con is mitigated. (i.e. New to contributing to HBC, check out this list of issues; want to work on the core, click here; want to help with documentation/design/adding new casks, see open ___ issues, etc - not an ideal solution by any means but just a thought of how that could work). Will take a look at the currently used labels and what they are used for (from MAINTAINING), and write up another post as I get the time. |
There's also ZenHub, which is free for open-source projects and provides all of the functionality discussed here (prioritization, scheduling, milestones) while integrating directly into the GitHub Issues view. |
There's also moving the project to GitLab (a response to the Dear GitHub letter) - which is a much more involved discussion and likely overkill for this scenario alone. Food for thought, though. |
@jawshooah Oh, right, I had seen that before. And it even has a section that looks like Trello. @adidalal Moving away from github is indeed overkill, and would likely do more harm than good. |
RE: ZenHub, I use Safari because I prioritize battery life, so that wouldn't work for me, but I think the pros/cons are the same as using Trello, etc. |
@adidalal There's definitely demand for a Safari ZenHub extension, but the owners haven't shown much interest so far 😞 |
You could also consider waffle.io or huboard.com. I have not used either, but both are free / free for open source projects. As a fairly new cask contributor, seeing issues on github rather than another secondary site is a plus for me. |
@joshka I'm wary of adding another layer of indirection - It may work the best for large projects, but I don't see us as needing so many features. Still haven't found time to write out a revised tag chart but will at some point. Ionic has a cool issue form, but again, seems like overkill for us: http://ionicframework.com/submit-issue/ |
Been long overdue, but preliminary thoughts: Kill: Add new labels for difficulty: Rename: I really like the outline at http://radek.io/2015/08/24/github-issues/ The relevant argument against prioritizing:
However, I understand having a roadmap is nice. I propose we use milestones: Stuff we are doing right now: this is the “main” milestone. We give it a name (like Alpha 2 or Strawberry Rhubarb Pie) and we write down what we are trying to accomplish with the milestone. We create a new milestone when we are ready for the next iteration. Stuff we’ll probably do soon: this is a standing “Next Tasks” milestone. We never change or rename this milestone. Stuff we probably won’t do soon: this is a standing “Blue Sky” milestone. We refer to these tickets and sometimes look through them, but they are easy to ignore, somewhat intentionally ignored. What aren’t we sure about?: issues with no milestone. We use a permanent “Next Tasks” milestone (as opposed to renaming it to “Alpha 3” or actual-next-iteration milestone) because we don’t want to presume or default to including something in the real next iteration. When we’re ready to start planning the next iteration we’ll create a new milestone, and only deliberately move things into that milestone. (from http://www.ianbicking.org/blog/2014/03/use-github-issues-to-organize-a-project.html) |
To be honest, I disagree with most of that proposal.
We need to keep that one. The label doesn’t mean it’s severe, it means people keep asking about it. When we see a request over and over, that’s the clue we can use to track it down fast.
As it says, that one is to be used sparingly. It’s a nice one to have to track big changes. Those two are very useful and used almost never. That makes them good candidates to exist, as they truly help sorting.
I’d go the opposite direction. Lets remove
Then how do we distinguish something to be added from something that isn’t working? I can’t see a reason in any project that actually has code to remove
I strongly believe those will accomplish nothing. Not only are they highly subjective, if you’re intermediate or higher you can identify the difficulty of something as it compares to your skill, and already need to be familiar with the project anyway. The
Again, you’re misinterpreting the label. That doesn’t mean we need help to make the feature happen, it means all the details are in place and everything is decided. Only the doing part remains. It’s as useful to us core maintainers as to outsiders.
Those don’t exist. We’re not a company, but volunteers, and as such what we can do and when highly fluctuates. There is nothing we can accurately categorise as “probably doing soon”, and “what we’re doing now” discourages outsiders from helping. Most people don’t contribute to the core, and those who do, do so to scratch their itch. What we really need help with (and have a fighting chance of getting) are long/medium easy tasks, like adding |
I'm good with adding a I'd also like to keep Impartial on cask request - we could either rename the issue or keep the label, and I guess the label helps filtering, so why not. I end up thinking (Trying to minimize labelling for our most common case - a new/update cask PR that needs user reply - one label should suffice) |
We reached no consensus and I feel this is less pressing now than it was at the time it was written. Closing. |
I had been thinking for the past few weeks about how inadequate github issues can be for us, and #17323 is validation of that. It’s not the first time (and I’m including myself) a maintainer can’t recall if something is implemented, or is under the impression it is because it has been talked about so much.
I have also been thinking about how to solve it, but haven’t really settled on a great solution. It is clear, however, the goal of the system should be clarity (which is what’s lacking in the issues system), namely clarity in prioritisation (doesn’t necessarily mean features nave to be implemented in that order, but it should rate them by importance), which also brings with it clarity in what needs to be tackled.
This could also encourage more users to contribute to the core, if they have a place they can reliably go to to see what needs to be done.
Some possibilities:
Master issue
Document on the repo
External system (e.g. Trello)
My favourite option is the document in the repo. Its con can be mitigated in two ways: the second pro, since it’ll lend it visibility, and being featured in CONTRIBUTING, in the section about contributing to the core (this would also apply to the first con of the master issue option).
The text was updated successfully, but these errors were encountered: