-
Notifications
You must be signed in to change notification settings - Fork 494
Development Process & Standards
Alex Grin edited this page Jul 30, 2019
·
19 revisions
We're doing Scrum-lite. Sprints start on Monday.
All times are US/Eastern
The sprint board is here. Install the Zenhub extension if you can't see it.
Protocol team standups are at 10am, app team standups are at 11am.
- required work is done
- tests for new work are written and pass
- unit/functional/integration/regression tests pass
- finished work was tested manually
- its secure
- documentation is written/updated
- code is merged into master
- code is ready to go live
- team agrees item is done
- assign issue to yourself, mark it as In Progress
- code code code commit code test code commit test feedback code test ...
- n.b - a WIP pull request can be created here to solicit feedback
- squash/rebase code for sharing, write quality commit messages
- run automated linting/testing suite. if there are issues, goto 1
- test the code yourself (on every OS/platform/environment we support)
- document your changes in the changelog
- create PR (or update existing PR)
- assign someone to review and approve your PR. if reviewer raises any issues, goto 1
- squash fixup commits; merge your PR into master; delete branch
- close issue
- the maxims
- Every commit in master should work and pass tests/linting
- See Branching and Merging for how to git
- Commit messages should be informative, aimed at developers, and provide context/explanation for the change being made
- Commits on master should stand-alone
- Force pushes on feature branches are allowed; please commit early and often, but clean-up the mess before merging into master.
- Pull requests should have an informative changelog entry (see changelog format). The changelog is aimed at downstream developers and technical users. This is slightly different from commit messages.
- Reviewing code takes priority over writing code. Code waiting for review means that somebody else is blocked. Be a good teammate. Also, code that is written but not merged is wasted inventory and expensive.