There are two major styles of searching, opportunistic (un-structured) and systematic (structured).
Assets may be displayed in folders in the repositories. This is where someone can browse the repositories or conduct
searches based on keywords and phrases. This is reuse using opportunistic-style techniques.
However, for the reuse to scale to larger groups of people, across boundaries and teams and time zones and skill sets,
opportunistic searching can erode the value proposition of the assets and their repositories. It just takes too long.
In the end, it is just not worth it, and we often ignore what's out there and go do our own thing.
Another style of searching is systematic; this is a more prescriptive form of searching. It dictates associations
amongst assets and identifies the assets to be used. Using the metaphor of Composing Solutions: Recipes, there are lists of ingredients (assets) and the
guidance to "mix them. In addition, recipes have the benefit of being customizable.
Therefore, rather than searching for all the ingredients (assets), search for the solution (the recipe) that
points you to all the ingredients (assets) that you need. A real value proposition is to then create a set of
recipes that mix multiple assets together to form a larger-grained, yet customizable solution. Prescriptive reuse of
development assets such as models, test cases, and other assets, holds some promise for asset-based development
efforts, and most notably, for the business.
Another technique for structured searching is to use a taxonomy, or classification schema. These provide structures
that are used to classify assets. The values from these structures are stored in the asset's Reusable Asset Specification. Expecting someone to select or identify a keyword that
is exactly what the Asset Producer used when packaging the asset makes the asset reuse even more
difficult. When the reuse scope and community is broad and crosses organizational boundaries, time zones, skill sets,
and other elements, and as the number of assets in a repository grows, it is very helpful to have a searching mechanism
that lets the Asset Consumer navigate the classification schema or the taxonomy from which to
select values.
Another key technique is to use ontologies to model the grammar of a domain and create relationships amongst terms.
Then the asset consumer searches using terms from the domain, but is not required to know which terms were used to
package the asset because the model of the grammar provides the association of terms. A formal language for describing
ontologies is Web Ontology Language (OWL).
A downside of these structured techniques is that they often require the user to understand something about the
taxonomy for them to be effective in their searching. Another approach is to use tagging. Here the Asset Consumer tags
assets with terms, their own terms. This builds up a list of terms for them to use that are meaningful to the Asset
Consumer, creating their own structure.
|