ohif-viewer/docs/latest/our-process.md
2019-11-19 03:23:30 -05:00

5.1 KiB

Our Process

Our process is a living, breathing thing. We strive to have regular retrospectives that help us shape and adapt our process to our team's current needs. This document attempts to capture the broad strokes of that process in an effort to:

  • Strengthen community member involvement and understanding
  • Welcome feedback and helpful suggestions

Overview

Include issue lifecycle diagram

Issue Triage

GitHub issues are the best way to provide feedback, ask questions, and suggest changes to the OHIF Viewer's core team. Community issues generally fall into one of three categories, and are marked with a triage label when created.

Issue Template Name Description
Community: Report 🐛 Describe a new issue; Provide steps to reproduce; Expected versus actual result?
Community: Request Describe a proposed new feature. Why should it be implemented? What is the impact/value?
Community: Question Seek clarification or assistance relevant to the repository.

table 1. issue template names and descriptions

Issues that require triage are akin to support tickets. As this is often our first contact with would-be adopters and contributors, it's important that we strive for timely responses and satisfactory resolutions. We attempt to accomplish this by:

  1. Responding to issues requiring triage at least once a week
  2. Create new "official issues" from "community issues"
  3. Provide clear guidance and next steps (when applicable)
  4. Regularly clean up old (stale) issues

📝 Less obviously, patterns in the issues being reported can highlight areas that need improvement. For example, users often have difficulty navigating CORS issues when deploying the OHIF Viewer -- how do we best reduce our ticket volume for this issue?

Backlogged Issues

Community issues serve as vehicles of discussion that lead us to "backlogged issues". Backlogged issues are the distilled and actionable information extracted from community issues. They contain the scope and requirements necessary for hand-off to a core-team (or community) contributor ^_^

Category Description Labels
Bugs An issue with steps that produce a bug (an unexpected result). Bug: Verified 🐛
Stories A feature/enhancement with a clear benefit, boundaries, and requirements. Story 🙌
Tasks Changes that improve [UX], [DX], or test coverage; but don't impact application behavior Task: CI/Tooling 🤖, Task: Docs 📖, Task: Refactor 🛠, Task: Tests 🔬

table 2. backlogged issue types (full list of labels)

Issue Curation ("backlog grooming")

If a GitHub issue has a bug, story, or task label; it's on our backlog. If an issue is on our backlog, it means we are, at the very least, committed to reviewing any community drafted Pull Requests to complete the issue. If you're interested in seeing an issue completed but don't know where to start, please don't hesitate to leave a comment!

While we don't yet have a long-term or quarterly road map, we do regularly add items to our "Active Development" GitHub Project Board. Items on this project board are either in active development by Core Team members, or queued up for development as in-progress items are completed.

📝 Want to contribute but not sure where to start? Check out Up for grabs issues and our Contributing documentation

Contributions (Pull Requests)

..

Releases