Skip to content

Development Workflow

Daniel Gómez-Sánchez edited this page May 3, 2018 · 2 revisions

This is just a draft and not yet implemented in the repository. Please, open an issue for possible updates

This is a living document and can be updated to reflect changes to our process.

Table Of Contents

Objectives

The process specified in this document is designed to meet the following objectives:

  • Manage the project as a Solo Developer
  • Define the project roadmap in an agile way
  • Allow contributors to get involve in the process
  • Inform about the progress of every developmental iteration

Project Management

Our workflow principles are based in concepts from Scrum Of One (SOO) and Personal Extreme Programming (PXP).

Project Backlog

We include almost every issue in our tracker to be part of the Project Backlog, even if discussion is required for acceptance. If not included (or abandoned), we would specify the reason.

Sprints

TODO: define our sprint iterations and schedule

Repository organization

Agile Process

  • The Project Backlog could be found here.
  • Every Sprint might appear in the Milestones section, with the sprint number and date of completion.

GitHub Workflow

TODO: define GitHub workflow

Labels

We use a multi-dimensional label scheme for categorize our issues. Every kind of issue would be assign only once to each issue. If an issue requires two labels of the same type, that means that it should be split into two and it will be done by the maintainers. We use the following scheme:

  • Priority: indicates how we will prioritize each issue over time (e.g., bugs are prioritized over new features)
  • Status: indicates how the issue is considered in terms of development (e.g., accepted as an real issue or discarded)
  • Type: indicates to which category the issue belongs (e.g., bug reports vs. feature requests)

Other labels will be prefixed with ~ to indicate that they are not part of our developmental workflow but just helpers to identify a group of related issues with a certain topic (e.g., ~htsjdk to group together issues related with that library). We try to avoid as much as possible this labels, and eventually we would move them to Milestones/Projects within the repository.