Developer Workflow

Workflow

  1. Select a story from the waffle board.
  2. Pull the latest version of the version1 branch
  3. Create a branch from there called feature/{insert general name of story}-#{story number}
  4. Put the story into In Progress on the waffle board
  5. Repeatedly during development:
    1. Develop code/write tests
    2. Ensure all tests pass
    3. Run linter and fix issues
    4. Commit
    5. (optionally) push to origin
  6. Merge origin/version1 into your feature branch.
  7. Run unit tests
  8. Check impact on coverage
  9. Run e2e tests
  10. Push to origin
  11. Make a pull request
  12. Put the story into Review on the waffle board
  13. Get the pull request reviewed
  14. Wait for the automated build on Travis
  15. Once a pull request is approved then it can be merged back into origin/version1
  16. Move the story to Review complete
  17. Wait for the merge build to complete on Travis
  18. Move the story to Done

Story State Transitions

Branching Strategy

Code Development and Testing

Preparing for a Pull Request

Pull Request Procedure

When a branch is ready to be merged back in then you should create a pull request in GitHub. The description should contain:

  • A general description of the changes in the pull request
  • A link for waffle to connect the PR to the issue (connect to #{issue number})
  • A method for testing the changes, particularly if they are visual in nature (e.g. describe which StoryBook story to look at or which url to visit). You may also want to consider adding a screenshot of the changes.

If this is your first time reviewing then you will need a development environment set up first, see Setting up a Development Environment

Before approving, a reviewer should:

  • review the code
  • ensure the build passes
  • assess the impact on code coverage
  • run the method for testing as described by the developer as assess the visual impact of the changes

Monitoring Progress in a Sprint