Feature Evaluation Requests
What if we replace feature production requests with feature evaluation requests? Here's a checklist I try to apply whenever possible, from most to least important:
• It needs to solve a user problem
• That user problem is tied to the overall arch of making the user's life better in some aspect
• I know all the things that need to happen to solve the user problem. Similarly, it is clear the user behaviors to affect.
• I see the user problem and business result correlation
• I mapped all the consequences the feature will have on the current ecosystem
• I thought about a Black Mirror kind scenario that tells me all the terrible things that might happen
• I defined success as a success for the user. It's how I'll know that the user problem was solved (or is being solved). Business metrics follow, showing the related results for the business.
• Engineers know the effort to build it and the value it generates—both to the business and users.
• I considered all the possible states that the feature might demand
• I know how the deliverable should look and feel like
Besides estimating correctly, another significant part of building features is knowing how to prioritize them. The questions above provide a solid foundation to know (and defend) what should and what should not be a priority.