A developer on your team is working on an eight-point story.
For the third sprint in a row.
“User downloads 1099-MISC.” When she took the story from the pile to start work on it, you were excited at the prospect of getting this great feature done in a single sprint. You watched two sprints go by, and it’s still in progress. There is only one user action, and only one file to download. What’s the problem?
The problem is that the story is too big. There is a waterfall project hiding in your eight-point story. Constructing the 1099-MISC PDF file with all of its business logic is a huge task. Some of the work was apparent from the beginning:
- render the button in the appropriate context
- fetch and fill the name, address, social security number from the personnel database
- fetch and fill all the dollar values from wherever they are stored
- generate the PDF in real-time
- send the PDF to the browser
- handle any errors that come up
But what was not clear initially was the complexity of unknowns:
- only displaying the button when all the required data is available for generating the file
- decrypting the personally identifiable information in the personnel database
- the thirteen fields whose source was unknown
- all the tests that had to be written to guarantee that the calculated results were correct
- the complexity of error and exception scenarios
All of these unknowns were buried in the eight-point story, and this story sent your developer into a dimly lit place where she wasn’t sure which parts were important, and the rest of the team could not see how close she was to being done.
Let’s see how we fix this problem...
Divide and Conquer
At Lab Zero, we don’t accept stories into the sprint that are bigger than 3’s. And we usually find a way to break a 3 down into 1’s and 2’s. Developers are used to thinking this way, and can usually help decompose a complex story. Here’s how we would have broken down the 8-pointer that knocked your star developer out of commission.
- User sees ‘Download 1099-MISC’ button on page
- User clicks button and gets a blank PDF
- Downloaded PDF contains formatting
- Downloaded PDF contains user’s name, address and social security number
- Downloaded PDF contains dynamic data for Box 7 (miscellaneous income)
- Download button is grayed out when the 1099-MISC would have anything in any box besides Box 7
By completing these six stories (each of which might be a 1- or 2-point story), you can actually launch something that is useful to 99.9% of tax filers. You can add the rest once you've had to time to learn from user feedback.
Can We Help You?
Are you having trouble getting Agile estimation to work for you? Lab Zero Agile coaches can help you lead productive (even fun!) estimation meetings that motivate, align and inform your team. Let us hear from you.