Getting started with use cases

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.