There is a nice article over on Modern Analyst on documenting decisions separately from use cases in which Mark Monteleone lays out the case for this. As he says:
I do propose making decisions visible. By visible, I mean aseparate and explicit step for each decision being made. These steps help the developer identify where possible alternate and exception paths may be placed. These decision points occur when an actor’s input drives the scenario down various paths.
I could not have put this better myself. I am a strong believer in this kind of separation, and of documenting how the decision is made independently of the use case so it can be reused. The only thing I would add is that these decisions need to be decomposed and analyzed, not simply documented. Many of these decisions are non-trivial and decomposing them to find the information, know-how and decisions on which they depend can be tremendously helpful. I described this process a little in this post on decisions but if you want a detailed description go buy Alan Fish’s new book (reviewed here). So:
- Explicitly identify the decision points you find in use cases and process descriptions
- Document how those decisions should be made independently of this context
- Focus on the structure, the decomposition of these decisions first and the rules for them second
I wrote an article on this topic for Modern Analyst – Using decision management to improve requirements – and I like the way Use Cases: Requirements in Context (2nd Edition) as a book that has good guidance on writing use cases as well as supporting this idea of separating decisions.