As an engineer we often get approached by a PM, or other teams members, for features, update in requirements, or any other changes. Some change will sounds really exciting, either because they are intellectually challenging or because their outcome looks obviously great.
However, before getting too excited there a few questions we can ask that will help us stay grounded and keep priorities clear and in order. This is especially important for PMs but I believe that all engineers, disregarding their role title, should always understand why we are doing things and how it will translate in increased consumer satisfaction.
- Who is the consumer for the feature?
- What are the e2e use-cases?
- Why do we need it?
- Why is it important?
- What are the data proving the need and the importance?
- Will it impact other team?
The beauty of these questions is that they help us and the requestors having clarity on the feature.
Knowing the consumer, help to refine the requirements with the right stakeholder.
Knowing the e2e use-cases, help understand and scope the feature(s).
Understanding the ‘why’ is powerful to set the priority and to understand how it impact our consumers.
Proving the needs and its importance by data is generally the best way to prevent throw away work and to increase the return on investment.
Finally, identifying the impact on other team, especially external one, will help aligning the plan for dependencies.
This methodology is a shorter way to define specifications and will help in taking decisions.