For some reason, last week I picked up and began reading from Benjamin Franklin’s autobiography. In it, he mentions a mutual improvement society that he and several of his acquaintances founded in colonial Philadelphia to compare ideas, to critique each other’s publications, and to gather sociably. They called it “Junto.” The idea behind Junto was that in gathering like-minded individuals with a common cause for civil discourse, all participants stood to benefit.
Use cases are atomic functions that are portable and not dependent upon a certain situation. They are requirement “objects” in the “object oriented” sense. I think that modularity and “reusability” are among the most valuable aspects of using use cases to express requirements.
This modularity can be undermined, though, if we allow our use cases to get too far into specifics and implementation detail.
The book “Use Cases: Requirements in Context”, by Kulak and Guiney, provides us with a couple simple ways to self-check our use cases to ensure that they include the appropriate level of detail, but aren’t reaching too far into design.