Design uncertainity theory - evaluating architecture completeness by evaluating the speed of decision making
There are two common approaches to software architecture evaluation [Spinellis09, p.19]. The first class of evaluation methods determines properties of the architecture, often by modelling or simulation of one or more aspects of the system. The second, and broadest, class of evaluation methods is based on questioning the architects to assess the architecture. This research paper details a third, more fine-grained approach to evaluation by assuming an architecture emanates from a large set of design and design-related decisions. Evaluating an architecture by evaluating decision making and decision rationale is not new (see Section 3). The novel approach here is to base an evaluation largely on the time dimensions of decision making. These time dimensions are (1) time allowed for architecting, and (2) speed of architecting. It is proposed that progress of architecture can be measured at any point in time. For example: "Is this project on track during the concept development stage of a system life cycle?" The answer can come from knowing how many decisions should be expected to be finalised at a particular moment in time, taking into account a plethora of human factors affecting the prevailing decision-making environment. Though aimed at ongoing evaluations of large military software architectures, the literature review for this research will examine architectural decisions from the disciplines of systems engineering, information technology, product management and enterprise architecture.