Agile and workflow using git

How do you reconcile a development workflow with the Agile methodology?

In the git feature branch workflow, all feature development takes place in a dedicated branch instead of in the master or develop branches.

In Agile, developent is performed in short sprints containing one or more user stories.

Using git, the recommended approach is to have one master branch which is the mainline and a develop branch where the development work is performed. When git is used in an agile shop, we can add some more helpful branches to facilitate the process, namely:

  • sprint - the sprint branch exists for the life of a single sprint. Suggested name for the sprint branch is sprint/nn where nn is the sprint number.
  • feature - from the feature branch workflow, each feature is developed in its own branch. Suggested name for each feature is <developer-initials>/<story-id>.
  • story - where more than one developer will be collaborating on a story, we create a story branch under which the developers can create their own feature branches. In this way, developers can use the story branch to share and merge their changes without impacting the sprint branch with their shared code changes until the work is completed.