At T/CAM training on 9 April 2015 we discussed the various types of issue – epic, story, bug, improvement – available in the DM JIRA project. Our aims are twofold: to ensure that JIRA provides a convenient and low-overhead tool for use by developers, and to facilitate its use in the reporting of earned value.
Currently, we report earned value based on the completion of stories and bugs, but not improvements. This has led to the rumour that developers are "not supposed" to use the improvement issue type.
I submit that an "unusable" issue type is unhelpful and confusing: either improvements should not be available for use at all (ie, the type should be removed from the DM project), or it should be available to earn value in the same way as bugs and stories.
I further submit that the distinction between stories, bugs and improvements is semantically meaningful. To wit:
- A story is the result of breaking down a large task derived from the software development roadmap (LDM-240) – an epic, in other words – into workable units;
- A bug describes a fault or error in code which has already been accepted to master;
- An improvement describes a feature request or enhancement which has not been derived by breaking LDM-240 down into epics.
DM-882 describes a segfault in running code: this is clearly a bug. On the other hand, DM-609 requests an enhancement in the way tests are run – there's no suggestion that existing code is broken or incorrect, so it's not a bug, and it's not the result of decomposing an epic into stories.
I propose that we regard bugs, stories and improvements as equivalent from an earned value standpoint, and encourage developers and their managers to use them to plan and report on their work using the definitions above.
If the above proposition is not accepted, I propose that the improvement issue type being expunged from the DM JIRA project to avoid any possible future confusion.