All,
I wanted to open up a dialogue on how we consistently manage issues and
releases. This is a fairly broad topic covering things like: workflow, fields,
reporting and release management. I have summarized key topics here:
https://cwiki.apache.org/confluence/display/TC/Project+Management+for+Issues+and+Releases
I would like to get feedback through the mailing list. Given the breadth, if
you have feedback on a particular topic, please open individual threads like
“Project Management - Workflow” or “Project Management - Releases” etc… to
focus the conversation.
Goals of Project Management
1. A project management system which is as minimally intrusive as practical
so developers can focus on the code
2. Community members can understand the state of the work at a detailed
level and new members can catch up within a reasonable time frame
3. Community members can find release notes, bug fixes, feature
descriptions, design summaries, and documentation easily
4. Community members avoid working on the same thing and creating
conflicting code
Issue - Workflow States
* Workflow ensures state of work is well understood by all members
* The proposed workflow adds an intake step to the Apache default to ensure
consistency of issues
Intake >> Open >> In Progress >> Resolved >> Closed
1. Intake: issue created by community member and waiting on intake process
by any knowledgeable community member
* A consistent intake system for all incoming issues that doesn't burden
developers
* Consistent naming convention and description standards
* Consistent labelling using key words where practical
2. Open: issue has been through intake process and is assigned to the best
fit component lead and is waiting on inclusion in a release and updated assignee
3. In-progress: issue has been assigned and is being worked and is assigned
to a release
4. Resolved: Initial code is done and is in testing
5. Closed: Test Complete
Additional Concerns
* Do we need a status for waiting on commit?
* Do we need a cancelled status for issues where we decide not to move
forward?
* Do we need to use the default "Re-opened" status? How is this different
from setting back to "Open"?
Issue Fields
* Consistency of using issue fields assures that each item has enough
information to be properly worked.
* Removing unused fields makes opening issues easier and faster.
Key Fields
* Summary: At intake, apply naming convention using consistent ordering and
key words for ease of understanding
* Description: At Intake review validity of issue and description content
to ensure it can be clearly understood and worked efficiently
* Component: At Intake by PM, Updated by Assignee if needed
* Labelling (Grouping): At Intake by PM – Apply a consistent set of key
word labels and update the list as more appear
* Type: Ensure consistent classification of type of issue: Bug,
Improvement, Feature
* Status: Required for knowledge or work in progress and overall state
* Assignee: Have a component lead assigned and set as default and this can
be delegated as needed so questions can be consistently directed to the proper
person
Additional Concerns
* Do we need remove all unused fields to greatly simplify interaction, and
add back as necessary?
* Do we use a priority or severity field? Seems subjective and who decides?
* Do we need a rank? How does this help?
* Do we limit labelling to a fairly strict list of approved key words that
expands as needed?
* How do we group issues that an organization may be interested in?
* Do we need to indicate the level of effort of an issue? If so, how?
Reporting - Visual Tracking
* Allows community members to quickly assess state of work.
* Use tools already in place like Kanban or Filtered Search Lists
* Pre-build filters by component and state for use in Kanban and Search
Views
Release Management
* Release management assures that each release documents what the code does
in terms of addressing standing issues
* Numbered releases which reference all bug fixes, improvements, features
covered
* Conversion of wiki design documents to published documents in github
Ryan Durfey
Sr. Product Manager - CDN | Comcast Technology Solutions
1899 Wynkoop Ste. 550 | Denver, CO 8020
M | 303-524-5099
[email protected]<mailto:[email protected]>
CDN Support (24x7): 866-405-2993 or
[email protected]<mailto:[email protected]>