When creating an issue, apply one of the following mutually exclusive labels:
- Bug (ff0000 - red)
- Feature (0000ff - blue)
- Improvement (ffff00 - yellow)
- Specification (7f7f7f - gray)
- Urgent (007f00 - green)
Note, issues should map to quite big tasks of at least a few hours of work each. If there is a number of related smaller tasks that need to be done, please try to merge them into one issue.
Also, if at all possible, assign the issue to a milestone. Each milestone is equivalent to a sprint that should be completed within two weeks. All development relating to a milestone should take place in a separate git branch.
The idea is to use the GitHub flow model i.e. have master as deployable (and it will be automatically deployed) and merge changes in from feature branches via pull requests.
Any git commits that reference the issue should mention it in the commit message. Once the issue has been addressed (as far as the developer is concerned), it should be closed with the "fixes #xx" commit message.
If the issues requires additional testing, assign it to the person responsible for testing.
Once all issues under a milestone/feature have been closed, the milestone/feature branch can be merged in with master via a pull request and automatically deployed to production (or submitted to the appstore etc. a appropriate).
If testing on a local development machine is insufficient, we can set up per milestone/feature branch staging servers on Amazon.
Additional points:
- when replying to an issue via email, include only the reply text, do not include the whole email thread in the body of the email (GitHub doesn't format it properly)
- if you haven't already, please upload a GitHub profile pic via http://www.gravatar.com - having a photo next to an issue is really useful when scanning through them quickly.
- create issues for yourself as a TODO list, so others know what you're working on and could help
- when creating an issue, make sure it is assigned to whoever you think is the more appropriate person to work on it; leaving an issue unassigned means it will go unnoticed
- if you've been wrongly assigned an issue or need help from somebody else, don't be afraid to reassign it to that person
- use English when reporting issues, since they may need to be reassigned to somebody who doesn't speak the other language
- close your issues as soon as you've tested it to be working, do not leave open issues hanging around unnecessarily
- avoid duplicates at all costs; first look at open issues and then closed issues sorted by last updated time before creating a new issue
Hi! Was it done?