A friend of mine is introducing use cases to his company, and asked for some advice. It sounds like an interesting project — they’ll be using it for both a hardware and software component.
Here’s what I told him:
- Spend a lot of time talking about what’s actually going to be covered in the use cases up front, and try to stay flexible.
- When you’re working on the use cases, there’s a good chance that you’ll spend some time talking to people and eventually think, “I understand now, I don’t have to talk about this any more.” It’s useful to learn to recogize that feeling as an indicator that you need to verify everything one more time.
- Also, recognize that when you think, “This person doesn’t really understand this, but I’ll give them what I know they need” that roughly translates to, “There’s something here that I don’t understand, and I need to tease it out of the person.”
- Don’t be afraid to scrap everything and start over. It’s a lot cheaper to do that now than after you start coding.
- And don’t let anyone convince you not to do that one last review — that’s the one that will find the really BIG problem.