The diagram shows the following:

The workflow for an assignment are as follows:

  1. The developer creates a user branch based on the DEV branch
  2. The developer implements the change, finishes it and after testing in own branch it is committed to the DEV branch
  3. When code freeze is reached, the code from DEV is merged to TEST branch
  4. Developers may now proceed with committing to the DEV branch
  5. Testers begin testing in TEST branch (And further to staging)
  6. When the release date is reached testing should be done and the product is ready.