We’ve started using a checklist during sprint planning in order to keep the things that usually go wrong in mind while talking about how to solve the user stories.
Some items in the list are very specific for the product that we’re developing and I’m leaving those out but here are a few more generic things:
- Should a log event be generated when the function is performed?
- Is the function affected by time zones, and if so, which time zone shall be used?
- Should the function be accessible via WEB-Services?
- What rights are required to perform the function?
- Can there be any concurrency issues?
- Do we need any special test data?
- What views are affected? Would mockups be helpful?
- What about performance?
My favorite is of course “Do we need any special test data?”. Setting up tests can be costly and it needs to be thought of during planning. We might need to get information from customers, order hardware, change the test environment to have data that will allow us to test the feature. But also, thinking about how the testing will work might have an impact on how the feature will be designed. It’s design can make testing harder or easier.