Capturing Rationale in Software Prototypes

FOCUS is a strategy and a family of tools to capture knowledge sparked by prototypes [16]. According to Lichter et al. [12], there are different kinds of prototypes that are built with different goals in mind. The definitions of various types of prototypes are listed below, with respective rationale mentioned in parentheses.

−Demonstrators elicit requirements (and rationale for raising those requirements) from customers.

−Prototypes proper try out implementation ideas (soliciting design rationale) implementing the core functionality only.

−Breadboard prototypes try out single technical solutions in isolation. They produce insights in how to fulfill a requirement (and why!).

−Pilot systems start out as prototypes and slowly turn into product soft-ware (all kinds of rationale play a role during this full development that shares all aspects of other prototypes).

FOCUS was initially created to solve the specific problem of capturing knowledge from prototypes in a light-weight way [16]. Experience elicitation in software projects may follow a similar approach [17]. All those findings were compiled and generalized to the “Rationale as By-Product Approach,” weaving in related other approaches like LIDs

[17] or Collaborative Risk Management [18]. The different kinds of prototypes elicit different aspects of rationale (as differentiated in Sect. 4.2). In the terminology of Chap. 1, it is basically “supporting knowledge transfer” (Sect. 1.4.4) that is supported by FOCUS.