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.