Re: [BuildStream] Re-structure of BuildStream Gitlab policy document
- From: Tristan Van Berkom <tristan vanberkom codethink co uk>
- To: Laurence Urhegyi <Laurence Urhegyi codethink co uk>, buildstream-list gnome org
- Subject: Re: [BuildStream] Re-structure of BuildStream Gitlab policy document
- Date: Tue, 30 Oct 2018 00:05:40 +0900
On Fri, 2018-10-26 at 13:01 +0200, Laurence Urhegyi via BuildStream-list wrote:
Hi,
I'd like to invite you to review the following MR with some updates to the
structure BuildStream's Gitlab policy document (not the actual policies
themselves):
It's probably a good time to start discussion around our (over)use of
gitlab, indeed I think the bar is too high, and more importantly we
have a terrible signal to noise ratio.
We had a very simple policy before, which I believe allowed for decent
level of notifications and visibility, this was basically:
* There are only two types of label
* severity (enhancement, bug, critical, blocker), these effect the
default sorting of the main issue list, via label "prioritization".
* category (frontend, cache, optimization, logging, etc), these allow
one to view issues related to a specific area or aspect of the
codebase.
* If your merge request is not ready for upstream review, prefix it
with WIP so that we don't have to consider it.
* The assignee field is only there to ensure we avoid duplication of
work, and we only ever self-assign.
Let's take a step back and see what we really need, and what are the
problems with the current setup:
* Signal to noise ratio is unbearable.
I get hundreds of emails a day related to issues and merge requests,
and the majority of these are quite meaningless. The biggest offender
here I think is over-use of the assignee field, while having too many
labels still contributes to this.
* Assignee button pushing is not a civilized means of communication.
People should be capable of forming complete sentences and actually
engaging in human communication when requesting that someone review
something, or requesting that someone comment with their opinion on
something.
There is no value to the project to know what is assigned to whom
beyond just knowing who is doing the engineering work to close a
given issue at a given time (i.e. to avoid duplication of work, we
want to use the assignee).
* Labels are overly complicated, as you point out.
This adds burden to anyone filing an issue or later tracking
progress, not to mention that bookkeeping of too many details
contributes to the bad quality of our signal to noise ratio.
I would argue that the new status labels (todo, doing, verify, etc)
are irrelevant to the tracking of project issues, we can do away with
all of this complexity.
It is more important to have a simplified issue filing and tracking
experience, optimized for new contributors and drive by contributors,
than it is valuable to do this level of book keeping in the issue
tracker proper.
From a highlevel project perspective, we should really only be
concentrating on the merge request list, and only those merge
requests which are not marked as WIP. Prioritization of work that is
in progress, and tracking of that work, should be up to those who are
doing the work and sometimes managers (in the instances where
contributors have managers).
Regarding your question about severity / impact labels:
I personally only care about the truth: if there are 500 open issues,
and 400 of them are critical, then so be it. There is no point on
pretending that issues are less severe because we have limited
resources; prioritization of work on more severe issues can just as
well be done outside of the issue tracker.
The story behind the "High_Impact" label is basically that it should
be the "Critical" label, except that there is a desire to keep the
number of critical issues in the "severity board" to a minimal
number, I cannot really explain or understand the rationale behind
this.
For this case I would suggest that we base the critical label on
actual conditions like:
- Does it cause someone to lose data
- Does it happen often
- Does it result in an irrecoverable project state or corruption
of the local artifact cache
- Does it result in a stack trace without a decent explanation of
what went wrong to the user, or explanation of how the user
can recover
And then we can just remove the High_Impact label completely, since
the intention of the High_Impact was to be the "Real Critical" label
(as opposed to the "What we pretend is really critical based on what
we have time to focus on").
I had previously spent a lot of effort in classifying issues as
Critical or not, but with all of the new overhead I have not had the
time to recover that information in the High_Impact label, so the
High_Impact label currently doesnt reflect what it should.
I'm not going to jump the gun and change any policy at this time, and
would love to hear from the wider community about which enhancements
that have been added to GitLab are useful to us, and which of these
enhancements have only resulted in workload overhead and notification
spam, so we can come to a conclusion together and have a better gitlab
experience.
Cheers,
-Tristan
https://gitlab.com/BuildStream/nosoftware/alignment/merge_requests/7/commits
### Description
I've heard complaints recently that people did not know how to follow the
policies of the project related to Gitlab. People found the policies to be
difficult to consume, so this MR is an attempt to simplify them and make them
more accessible.
### Proposed changes
Changes proposed in this merge request:
* Updates old HACKING links to CONTRIBUTING
* Cleans up all of the links to be neat hyperlinks in markdown format , instead
of full links
* Massively reduces amount of text relating to templates and also opening /
closing tickets
* Removes information about nosoftware labels
Note: I have left in there what I believe to be some outdated info on the
severity labels and impact labels since Tristan changed them. However I'm not
too sure how there are actually being used at the moment, so would appreciate
some input there. The new world order for severity labels really does not make
sense to me....perhaps we can consider changing it back...but that's a
discussion for elsewhere....
Also, I think we may need to outline better how to flag a bug you are raising as
'high priority' so that the development team take a look at it.
Admittedly, some of the finer details have been removed. But I believe it is
worth it in order to have a more accessible and easy to digest policy.
Thanks,
Laurence
_______________________________________________
BuildStream-list mailing list
BuildStream-list gnome org
https://mail.gnome.org/mailman/listinfo/buildstream-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]