db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dag.Wan...@Sun.COM (Dag H. Wanvik)
Subject Re: Jira field definitions
Date Mon, 22 Jun 2009 12:51:18 GMT


posting a new version incorporating comments I have received so far,
thanks everyone! If not further comments arise, I will put this
version up for a vote in a day or two. Process issues are decided by
simple majority and the vote should run for at least 72 hours

I do think Kathey is right that we may still need to tweak the
definitions a bit as we go along in the triaging process, but perhaps
it's still good to vote on this set of changes as a baseline. Smaller
changes later could be handled by lazy consensus.

JIRA field proposal Version 1.0

Changes relative to proposal initial proposal: 

  - Changed severity numbering in "Priority" field (1 is most severe -
  - rewording: customers -> users (Kathey)
  - "Derby Issue & fix info" renamed to just "Issue & fix info"
  - typo "Not" -> "Note" (Rick)
  - removed three "is this useful?" meta-questions
  - updated wording on "High Value Fix" field to contrast it to "Urgency".

Issue type : {Bug, Improvement, Task, Sub-task}
Doc: Use "bug" if the the issue concerns wrong product functionality. Use
"improvement" for all product enhancements that can not be classified
as bugs. Use "task" for process issues, e.g. work with releases. 
All the three issue types can have sub-task issue types.

Comment: We will not use "Wish", "New Feature", and "Test" issue
types. Use "Improvement" where you previously used New Feature. The
rationale for the merge is that it is hard to use these two issue
types consistently, and they often overlap.

Summary: String
      - Make as descriptive as possible, but try to avoid using very
        long lines. It's usually better to give more detail in the
      - For bugs, describe the problem or symptom seen, not its solution.
      - Use of keywords in the title is good, to the extent they do not
        duplicate component information. 
Comment: no changes

Priority: {Blocker, Critical, Major, Minor, Trivial}

Doc: This is technical severity and not really a priority (see Urgency
field for that property).  Think of these values as severity 5 (trivial;
least severe) to severity 1 (most severe: blocker). Typically, this
field will not change unless more information about the bug becomes
available from investigation or from users. Its value is normally
not changed by release and scheduling decisions. Note that users
reporting bugs are liable to interpret this field as priority for
themselves, so developers should be careful to explain why we change
the value when we do. The value should reflect how hard is is to live
with Derby ("hassle") as long as this bug exists. Some key questions in
when trying to set this value (reflecting approximate decreasing severity)

     - Is data corrupted?
     - Is data lost?
     - Is a crash involved (reduced availability of data)?
     - Wrong query results?  
     - performance unexpectedly low?
     - Is a work-around possible?
     - Is it merely a nuisance?

Comment: Unfortunately, we can't change the name or the the values as
long as we share JIRA installations with other Apache projects.
Five levels of severity may be too much, but since we are stuck with
the values we might as well use accept that they will be used.

Urgency: {None, blocker, urgent, normal, low} 

Doc: This is the field used for dynamically reflecting scheduling
opinions and decisions; when a release manager is appointed, typically
a release manager will "own" this field to reflect how she sees how
issues should be prioritized for fixing prior to a release
("releasability"). Presumably, no release will be made if there is a
"blocker" left. This field also takes likelihood of users hitting a
bug into account; Priority a.k.a. Severity does not.  After bug
triage, no bug should have the "none" urgency.

Comment: See also "High Value Fix" checkbox

Due date: Date
Doc: not used

Components: {Unknown, 
             Build tools,
             Eclipe plug-in,
             Network Client,
             Network Server,
             Web site}
Doc: After bug triage, no issue should have the "unknown" component.
     Several components can be selected to express a "and"
     relationship, e.g. "Test" && "Store".
     "Localization" includes "internationalization".

Comment: Newcomer moved to Bug Behavior Facts check-boxes
         Performance moved to Bug Behavior Facts check-boxes
         Regression Test Failure moved to Bug Behavior Facts check-boxes
         Security moved to Bug Behavior Facts check-boxes

Affects version: {Unknown, Released versions, Unreleased versions}
Comment: no changes

Fix version: {Unknown, Unreleased versions, Released versions}
Comment: no changes

Assignee: DeveloperName
Doc: To assign yourself to an issue you need to be registered as a
     developer. Ask one of the committers about this on the mailing
     list derby-dev@db.apache.org

Comment: This fields serves two functions, it synchronizes work so
         that two people can avoid working on the same issue, and
         second, it allows due credit to be reflected after the work
         is done. If there is more than one person contributing to the
         work, the main contributor will be the one assigned.

Environment: String
Doc: For example operating system, software platform and/or hardware
     specifications (include as appropriate for the issue), including:
     - JRE version
     - Output of org.apache.derby.tools.sysinfo (derby version info)
Comment: no changes

Description: String
Doc: Should be used to give all possible details of the issue in
     question.  If the issue you are filing is a bug, please include
     the following details in this field:

     - How to reproduce the bug (either step-by-step information or
       attach a reproduction script/program)
     - Chained nested exceptions reported by Derby and the SQLSTATE
       reported by the system
     - In a client/server scenario, also include any stack trace found
       in derby.log if available.


Original Estimate: *w *d *h *m
Doc: Not currently used

Issue & fix info: boolean check-boxes
     High value fix
     Known fix
     Patch available
     Release note needed
     Repro attached
     Workaround exists
Doc: These yes/no check boxes relate to process 
     High value fix: This issue represents a potentially high return
                     on time investment based on:

                     - Frequency and likelihood the issue might be hit
                     by users.
                     - Estimated difficulty of fix ("bang for the bucks")
                     - Risk to existing users if the fix is
                     - Severity of the issue (see "Priority" field")
                     - Availability of a workaround (see also "repro
                     attached" check box)
                     - The amount of user/developer time is wasted by
                     the issue.
                     In contrast to the "Urgency" field, "High value
                     fix" is typically *not* used to reflect
                     scheduling decisions for a particular release,
                     but can be thought of a a longer term ("trunk",
                     "next major release")  consideration. For
                     example, even if a bug is not slotted to be
                     included in a particular update release, it can
                     still be useful to label it as something we want
                     to fix soon.

     Known fix: A comment describing a possible fix exists
     Newcomer: An issue suitable for a newcomer to Derby
     Patch available: A patch is available for this issue. This is
                      normally a sign that a code review is desired.

     Release note needed: The fix that went into the code changes
                          Derby's behavior, so that it may break
                          existing applications, or otherwise warrants
                          the user's attention.
                          Before the issue is resolved as fixed there
                          should exist an attached "releaseNote.html"
                          file in the proper format.


     Repro attached: The bug can be reproduced with code or steps
                          in a description attached to the issue or
                          described in the comments.
     Workaround attached: A described workaround can be found in the
                          issue, either in the comments or in an
Comment: Renamed "Derby info" to "Issue & fix info" to distinguish
     from Bug Behavior Facts.
     Added "Repro attached" and "Workaround attached" and "known fix".
     Removed "Existing application impact".
     Can we merge the semantics of "High value fix" into "Urgency"
     Moved "Newcomer" here from "Bug Behavior Facts".

Bug behavior facts: boolean check-boxes
     Data corruption
     Deviation from standard
     Embedded/client difference
     Regression test failure
     Seen in production
     Wrong query result

Doc: The Bug Behavior Facts contain additional yes/no check-box
     characterization of the issue.
     Crash: Total loss of functionality. What this means depends on
            the Component. For example, for the database engine, it
            means it needs to be rebooted. For the ij tool, it could
            be a hang.  For the network server it could mean it does
            not answer or hand out new connections.
     Data corruption
     Deviation from standard
     Embedded/client difference
     Regression: A bug that was not present in some previous publicly
                 available release.
     Regression test failure
     Seen in production: The bug is observed in existing
                          application code ("in the wild").
     Wrong query result

Comment: Renamed to "Bug behavior facts:" from Categories.
         Moved "regression" here from "Issue & fix info". Moved
         "Newcomer" to Issue & fix info.
         Added "seen in production".

View raw message