The basic idea of story branching (sometimes referred to as “issue-driven development”) is that you create a development branch for each and every JIRA issue you implement.

Bug fixes, user stories, spikes… they all get their own branch.

Madness, you say!

And I would agree with you if we were still using a centralized version control system like SVN.

But branching in Git is very lightweight and merges don’t lock up the entire repository, making this crazy idea quite practical.