Tyrone was telling us about how to build a system. He was covering edge cases we needed to solve for. And how it needed to be solved.
Tyrone was the customer. We were just trying him to tell us what problems he wants the system to solve. Tell us what and why, we’ll figure out how.
This was our 3rd call. It was the 3rd time that edge cases drove the conversation. They showed up to the first meeting with a systems diagram for the system we’re looking to build them.
We still don’t have requirements.
We’ve been trying to get them to talk about the most common cases so we can build iteratively based on most common use. They insist we need to handle the edge case.
We’ll estimate it with the edge case. Then we can be agile and respond to the reality. Their sponsor won’t want to pay for edge cases. We’ll adapt.
The customer is not always right. The user is always right. The only way to hear honestly from the user is to build a system to see how they use it.
Build something they need to solve most of their problems. Listen. Fix what got messed up. Then worry about the edge. The world isn’t flat. We won’t fall off if we don’t obsess about the edge.