I recently came across a "split" feature in the popular Agile tool Rally that they recommend to handle unfinished work.
It has nothing to do with "Splitting a User Story" which is an advanced but fairly well-understood field in Agile, and a tool for Product Managers to use in one of the two scenarios:
2. A clumsy accounting gimmick
- The Product Manager does it before an Iteration commences (i.e. during backlog creation or release planning) to create User Stories by business value that are right-sized, i.e. they can be comfortably implemented inside an iteration;
- The Product Manager does it in Iteration Planning or in the middle of an Iteration to reduce scope by removing/simplifying acceptance criteria, in response to the actual progress of the team or other factors (including external factors).
The "Split" feature in Rally is a misnomer that has nothing to do with the elegant and valuable technique of Splitting User Stories Agile teams use to deliver valuable product functionality iteratively. The Rally "Split" is a clumsy "accounting" tool (and a bad one at that), meant to attach value artificially to completed tasks and incomplete User Stories! It has nothing to do with splitting a user story intelligently by a Product Manager for business value.
3. Not doing User Stories anymore
Even if the goal is to do this so called "split" merely for accounting reasons, there are several problems with it:
- You could be double counting the points! Some teams gets double the credit for a User Story when it doesn't finish it in an Iteration.
- You're not doing User Stories any more. You just have two shells that wrap two groups of related tasks.
- It establishes a bad precedent, incentivizes bad behavior and does not challenge a team to get better:
4. Why bother with:
- when you can simply chop a story at the end of the iteration with one button click AND get credit for tasks completed (waterfall anyone?) that don't deliver any business value AND get double points for the User Story when it does get completed!
- Spending time & effort thinking your User Stories through
- making them follow the INVEST principle
- keeping them small enough so that they can be DONE within an iteration
- pushing the envelope on how far you can take your "Definition of DONE" (from Dev complete to Live in Production - and beyond)
- responding intelligently to change in business or realities of a team's velocity
NOW, here are some really good articles and sources for good ways to Split User Stories:
1. How you'll probably learn to split features
2. Ways to split User Stories - the Good, the Bad, and the Ugly
3. Patterns for Splitting User Stories