Let’s say the high level problem statement is that a company needs to add a Search feature to their Store Inventory product.
Here are some questions that can arise during this course of this project:
1. What fraction of customers are asking for it, and how badly? How do you know their judgment is correct? What if people who aren’t asking for it may also go on to love it?
2. How deep and fast do you want the Search functionality to be?
3. How much time and money are you willing to invest in it? What if you find out after a month of work that Search is much harder than it looks?
4. Let’s say you discover there’s a bug in the indexing system which leaks personally identifiable information even though it’s supposed to hide it. Will you postpone the project till the bug is fixed, or work around it somehow?
It’s nearly impossible to answer these kind of questions right at the start of the project.
That doesn’t mean there
aren’t projects where all the requirements are known upfront in precise detail. Usually that correlates with the associated technologies being very mature and their capabilities well understood by the people involved.
Here are some questions that can arise during this course of this project:
1. What fraction of customers are asking for it, and how badly? How do you know their judgment is correct? What if people who aren’t asking for it may also go on to love it?
2. How deep and fast do you want the Search functionality to be?
3. How much time and money are you willing to invest in it? What if you find out after a month of work that Search is much harder than it looks?
4. Let’s say you discover there’s a bug in the indexing system which leaks personally identifiable information even though it’s supposed to hide it. Will you postpone the project till the bug is fixed, or work around it somehow?
It’s nearly impossible to answer these kind of questions right at the start of the project.
That doesn’t mean there aren’t projects where all the requirements are known upfront in precise detail. Usually that correlates with the associated technologies being very mature and their capabilities well understood by the people involved.