DART flow

DART flow is the workflow to go from having an idea for a feature to getting the feature into the DART code, so your feature can be used do science.

dart-flow

  1. Describe the problem you are trying to fix. Use GitHub issues to track the problem.

  2. Add a label to the issue The label helps prioritize the issue. Is it a bug fix, is it a new feature, is it refactoring existing code? Use the label back-burner for something that is low priority.

  3. If you have a solution describe your solution in the issue. Beware of falling into the trap of working on a solution before defining the problem. A good problem description is better than a poor solution. Give an estimation of how much code this will effect. Will your solution require changing several modules? The writing specifications section of this document gives an example of how to describe your solution.

  4. Get some feedback on your solution, the standup is a good place to ask for volunteers. This is a good time to have an in-person meeting to chat about your spec.

  5. Create a feature branch to use for your solution. Once you are happy with your feature branch, push the branch up to the main DART repo and create a pull request.

  6. Be as helpful to your reviewers as you can. Only include changes relevant to your issue and avoid changes that are not relevant to the particular issue.

  7. If your pull request is approved, merge into the main branch and create a release.