The Effect of Context
While a necessary element of the solution, repositories such as PROMISE are only a part of the solution to finding motivating and convincing evidence. We described in the previous section how the gathering of evidence is always somewhat context-specific. Recently we have come to appreciate how much interpreting the evidence is also context-specific, even audience-specific. To appreciate that, we need to digress quickly to discuss a little theory.
Many software engineering problems live in a space of solutions that twists and turns like a blanket hastily thrown onto the floor. Imagine an ant searching the hills and valleys of this blanket, looking for the lowest point where, say, the software development effort and the number of defects are at a minimum.
If the problem is complex enough (and software design and software process decisions can be very complex indeed), there is no best way to find this best solution. Rather, our ant might get stuck in the wrong valley, thinking it the lowest when in fact it is not (e.g., if some ridge obscures its view of a lower neighboring valley).
Optimization and Artificial Intelligence (AI) algorithms use various heuristics to explore this space of options. One heuristic is to model the context of the problem, according to the goals of a particular audience, and then nudge the search in a particular direction. Imagine that the ant is on a leash and the leash is being gently pulled by the goal heuristic.
Now, here’s the kicker. ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access