I have been making the mistake creating branches at the User Story Level. See: User Stories != Features.
I believe I have been doing it this way because of my poor practice in organizing Features and Epics that are both permanent and really just organizational post to parent the underlying stories (EG. Improve Homepage\ As an advertiser, ...).
What is a better way to create Epics and Features?
Since I have been using Epics and Features to organize the backlog, my co-workers & I have, been using them to determine where to create User Stories. The problem with this, I believe, is rather than just having orphaned User Stories which I, as the designer, should be determining under which feature stories belong. This has created an phenomenon where User Stories get duplicated because the creator does not realize it already exists under a different "Feature".
So, Should I be requesting User Stories be created as orphans than afterward, determining under which feature they belong? Rather then letting product owners try to decide under what feature a story belongs.
An additional fear I have of this shift in planning, is developing based on User Stories moved fairly quickly, merging the Story branch back into the Main branch when completed, then deploying.
Can I still maintain quick deployments while working off a Feature branch instead of a Story branch, by merging with Main at the 'end' of each Story then continuing to the next Story in the Feature branch ?
Additionally, maybe a more direct and powerful method, an example in this case may provide more context than all the preceding answers.
Provide an actual example of a branch, and any Stories, Features, Tasks, Epic that it contained in your real world development projects.
Here is a mock diagram of my backlog
- (E-#) Epic
- (F-#) Feature
- (S-#) Story | (B-#) BUG
- (T-#) Task
- (E-1) Sitewide Improvements
- (F-2) CMS
- (S-3) As a developer, I want to audit @inherits on cshtml pages, and see how I can better use Strongly Typing pages
- (S-4) Upgrade to CMS Version 7.5.8
- (T-5) backup
- (T-6) Nuget upgrade
- (T-7) run upgrader
- (T-8) merge config files
- (E-9) Improve Public facing site
- (F-10) Improve Homepage
- (S-11) As an advertiser, I want my ads to show on the homepage, so my ad have better visibility
- (F-12) Improve Reviews
- (S-13) As a traveler, I want to be able to sort reviews by # of stars, so I can look at reviews with the # I am interested in
- (T-14) Create a sorting logic in a function to accomplish this
- (T-15) Create the proper UX to request sorting
- (S-16) As a traveler, I don't want to see old reviews, as they don't represent well
- (F-17) Improve Articles Page
- (S-18) As a reader, I want to articles tagged, so that I can view other articles with tags I am interested in.
- (E-19) Improve Client backend portal site
- (F-20) Account Management
- (S-21) As a portal user, I want notification to be emailed to me, so that I know what is happening
- (F-22) Ad Manager
- (S-23) As an advertiser, I want to set budgets on a per advertisment basis, so that I can have greater control.
- (S-24) As an advertiser, I want to be able to upload my on images, so that I can better customize my ads.
- (F-25) Billing Manager
- (S-26) As an portal admin, I want to be able to see past statements, so I can understand past charges.