Intent
Separate the information describing your product from the information supporting the creation of the product description.
Also Known as
- Context-Based Collaboration
Motivation
When developing a product, you create the product description. But in doing so, you also create a lot of information that is important, but not really part of the product description. By consciously separating the two you can better focus on the task at hand by filtering out what's of no interest. It improves understanding and creates transparency.
Consider "rationale". Sometimes, it is useful to record the rationale for a design decision. You may be tempted to just create field "rationale" on your design item, but this is not really part of the design. Instead, attach the rationale as meta data to the design item. This allows you to time stamp the rationale, and to evolve it.
Applicability
Consider using this pattern for:
- Questions
- Decisions
- Issues
- Justifications
- Rationale
Structure
It is very hard to implement this, unless you have a tool that supports it. Jama supports this with context-based collaboration: You can raise an issue in the context of an item and discuss this with peers, until it is resolved. This will then become part of the audit trail, as shown in this screenshot:

Should this issue come up again, then the discussion is found in the audit trail concerning the South American market strategy.
You find this approach in many modern web tools. For instance in gitHub (besides the just shown Jama Connect).
Consequences
The pattern has the following benefits and liabilities:
- Benefits:
- Clearly separate the product description from concerns regarding the creation of it
- Record valuable information where it is found (not lost in email), without messing up the actual data itself (by adding more and more attributes that hold meta data)
- Liabilities:
- Requires users to clearly understand these concepts.
- Requires capable tool support
Related Patterns