Design rationale

Last updated
A Decision Based Design Structure, which spans the areas of engineering design, design rationale and decision analysis. Decision Based Design Structure.jpg
A Decision Based Design Structure, which spans the areas of engineering design, design rationale and decision analysis.

A design rationale is an explicit documentation of the reasons behind decisions made when designing a system or artifact. As initially developed by W.R. Kunz and Horst Rittel, design rationale seeks to provide argumentation-based structure to the political, collaborative process of addressing wicked problems. [1]

Contents

Overview

A design rationale is the explicit listing of decisions made during a design process, and the reasons why those decisions were made. [2] Its primary goal is to support designers by providing a means to record and communicate the argumentation and reasoning behind the design process. [3] It should therefore include: [4]

Several science areas are involved in the study of design rationales, such as computer science [2] cognitive science, [3] artificial intelligence, [5] and knowledge management. [6] For supporting design rationale, various frameworks have been proposed, such as QOC, DRCS, IBIS, and DRL.

History

While argumentation formats can be traced back to Stephen Toulmin's work in the 1950s [7] datums, claims, warrants, backings and rebuttals, the origin of design rationale can be traced back to W.R. Kunz and Horst Rittel's [1] development of the Issue-Based Information System (IBIS) notation in 1970. Several variants on IBIS have since been proposed.

The first Rationale Management System (RMS) was PROTOCOL, which supported PHI, which was followed by other PHI-based systems MIKROPOLIS and PHIDIAS. The first system providing IBIS support was Hans Dehlinger's STIEC. [15] Rittel developed a small system in 1983 (also not published) and the better known gIBIS (graphical IBIS) was developed in 1987. [16]

Not all successful DR approaches involve structured argumentation. For example, Carroll and Rosson's Scenario-Claims Analysis approach [17] captures rationale in scenarios that describe how the system is used and how well the system features support the user goals. Carroll and Rosson's approach to design rationale is intended to help designers of computer software and hardware identify underlying design tradeoffs and make inferences about the impact of potential design interventions. [18]

Key concepts in design rationale

There are a number of ways to characterize DR approaches. Some key distinguishing features are how it is captured, how it is represented, and how it can be used.

Rationale capture

Rationale capture is the process of acquiring rationale information to a rationale management

Capture methods

Rationale representation

The choice of design rationale representation is very important to make sure that the rationales we capture is what we desire and we can use efficiently. According to the degree of formality, the approaches that are used to represent design rationale can be divided into three main categories: informal, semiformal, or formal. [4] In the informal representation, rationales can be recorded and captured by just using our traditionally accepted methods and media, such as word processors, audio and video records or even hand writings. However, these descriptions make it hard for automatic interpretation or other computer-based supports. In the formal representation, the rationale must be collected under a strict format so that the rationale can be interpreted and understood by computers. However, due to the strict format of rationale defined by formal representations, the contents can hardly be understood by human being and the process of capturing design rationale will require more efforts to finish, and therefore becomes more intrusive.

Semiformal representations try to combine the advantages of informal and formal representations. On one hand, the information captured should be able to be processed by computers so that more computer based support can be provided. On the other hand, the procedure and method used to capture information of design rationale should not be very intrusive. In the system with a semiformal representation, the information expected is suggested and the users can capture rationale by following the instructions to either fill out the attributes according to some templates or just type into natural language descriptions. [4]

Argumentation-based models

The Toulmin model
One commonly accepted way for semiformal design rationale representation is structuring design rationale as argumentation. [5] The earliest argumentation-based model used by many design rationale systems is the Toulmin model. [7] The Toulmin model defines the rules of design rationale argumentation with six steps: [21]
  1. Claim is made;
  2. Supporting data are provided;
  3. Warrant provides evidence to the existing relations;
  4. Warrant can be supported by a backing;
  5. Model qualifiers (some, many, most, etc.) are provided;
  6. Possible rebuttals are also considered.
One advantage of Toulmin model is that it uses words and concepts which can be easily understood by most people.
Issue-Based Information System (IBIS)
Another important approach to argumentation of design rationale is Rittel and Kunz's IBIS (Issue-Based Information System), [1] which is actually not a software system but an argumentative notation. It has been implemented in software form by gIBIS (graphical IBIS), itIBIS (test-based IBIS), Compendium, and other software. [22] [23] IBIS uses some rationale elements (denoted as nodes) such as issues, positions, arguments, resolutions and several relationships such as more general than, logical successor to, temporal successor to, replaces and similar to, to link the issue discussions.
Procedural Hierarchy of Issues (PHI)
PHI (Procedural Hierarchy of Issues) [24] extended IBIS to noncontroversial issues and redefined the relationships. PHI adds the subissue relationship which means one issue's resolution depends on the resolution of another issue.
Questions, Options, and Criteria (QOC)
QOC (Questions, Options, and Criteria) [25] is used for design space analysis. Similar to IBIS, QOC identifies the key design problems as questions and possible answers to questions as options. In addition, QOC uses criteria to explicitly describe the methods to evaluate the options, such as the requirements to be satisfied or the properties desired. The options are linked with criteria positively or negatively and these links are defined as assessments.
Decision Representation Language (DRL)
DRL (Decision Representation Language) [26] extends the Potts and Bruns model of DR [9] and defines the primary elements as decision problems, alternatives, goals, claims and groups. Lee (1991) has argued that DRL is more expressive than other languages. [26] DRL focuses more on the representation of decision making and its rationale instead of on design rationale.
RATSpeak
Based on DRL, RATSpeak is developed and used as the representation language in SEURAT (Software Engineering Using RATionale). [27] RATSpeak takes into account requirements (functional and non-functional) as part of the arguments for alternatives to the decision problems. SEURAT also includes an Argument Ontology which is a hierarchy of argument types and includes the types of claims used in the system.
WinWin Spiral Model
The WinWin Spiral Model, which is used in the WinWin approach, [28] adds the WinWin negotiation activities, including identifying key stakeholders of the systems, and identifying the win conditions of each stakeholder and negotiation, into the front of each cycle of the spiral software development model [29] in order to achieve a mutually satisfactory (winwin) agreement for all stakeholders of the project.
In the WinWin Spiral Model, the goals of each stakeholder are defined as Win conditions. Once there is a conflict between win conditions, it is captured as an Issue. Then the stakeholders invent Options and explore trade-offs to resolve the issue. When the issue is solved, an Agreement which satisfies the win conditions of stakeholders and captures the agreed option is achieved. Design rationale behind the decisions is captured during the process of the WinWin model and will be used by stakeholders and the designers to improve their later decision making. [28] The WinWin Spiral model reduces the overheads of the capture of design rationale by providing stakeholders a well-defined process to negotiate. In [30] an ontology of decision rationale is defined and their model utilizes the ontology to address the problem of supporting decision maintenance in the WinWin collaboration framework.
Design Recommendation and Intent Model (DRIM)
DRIM (Design Recommendation and Intent Model) is used in SHARED-DRIM. [14] The main structure of DRIM is a proposal which consists of the intents of each designer, the recommendations that satisfy the intents and the justifications of the recommendations. Negotiations are also needed when conflicts exist between the intents of different designers. The recommendation accepted becomes a design decision, and the rationale of the unaccepted but proposed recommendations are also recorded during this process, which can be useful during the iterative design and/or system maintenance.

Applications

Design rationale has the potential to be used in many different ways. One set of uses, defined by Burge and Brown (1998), [19] are:

DR is used by research communities in software engineering, mechanical design, artificial intelligence, civil engineering, and human-computer interaction research. In software engineering, it could be used to support the designers ideas during requirement analysis, capturing and documenting design meetings and predicting possible issues due to new design approach. [31] In software architecture and outsourcing solution design, it can justify the outcome of architectural decisions and serve as a design guide. [32] In civil engineering, it helps to coordinate the variety of work that the designers do at the same time in different areas of a construction project. It also help the designers to understand and respect each other's ideas and resolve any possible issues. [33]

The DR can also be used by the project managers to maintain their project plan and the project status up to date. Also, the project team members who missed a design meeting can refer back the DR to learn what was discussed on a particular topic. The unresolved issues captured in DR could be used to organize further meetings on those topics. [31]

Design rationale helps the designers to avoid the same mistakes made in the previous design. This can also be helpful to avoid duplication of work. [5] In some cases DR could save time and money when a software system is upgraded from its previous versions. [2]

There are several books and articles that provide excellent surveys of rationale approaches applied to HCI, [34] Engineering Design [4] and Software Engineering. [35]

See also

Related Research Articles

The waterfall model is a breakdown of project activities into linear sequential phases, meaning they are passed down onto each other, where each phase depends on the deliverables of the previous one and corresponds to a specialization of tasks. The approach is typical for certain areas of engineering design. In software development, it tends to be among the less iterative and flexible approaches, as progress flows in largely one direction through the phases of conception, initiation, analysis, design, construction, testing, deployment and maintenance. The waterfall model is the earliest SDLC approach that was used in software development.

<span class="mw-page-title-main">Computer-aided design</span> Constructing a product by means of computer

Computer-Aided Design (CAD) is the use of computers to aid in the creation, modification, analysis, or optimization of a design. This software is used to increase the productivity of the designer, improve the quality of design, improve communications through documentation, and to create a database for manufacturing. Designs made through CAD software are helpful in protecting products and inventions when used in patent applications. CAD output is often in the form of electronic files for print, machining, or other manufacturing operations. The terms computer-aided drafting (CAD) and computer-aided design and drafting (CADD) are also used.

<span class="mw-page-title-main">Software architecture</span> High level structures of a software system

Software architecture is the set of structures needed to reason about a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements and relations.

Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components. Software development involves writing and maintaining the source code, but in a broader sense, it includes all processes from the conception of the desired software through the final manifestation, typically in a planned and structured process often overlapping with software engineering. Software development also includes research, new development, prototyping, modification, reuse, re-engineering, maintenance, or any other activities that result in software products.

<span class="mw-page-title-main">IDEF</span> Family of modeling languages

IDEF, initially an abbreviation of ICAM Definition and renamed in 1999 as Integration Definition, is a family of modeling languages in the field of systems and software engineering. They cover a wide range of uses from functional modeling to data, simulation, object-oriented analysis and design, and knowledge acquisition. These definition languages were developed under funding from U.S. Air Force and, although still most commonly used by them and other military and United States Department of Defense (DoD) agencies, are in the public domain.

In planning and policy, a wicked problem is a problem that is difficult or impossible to solve because of incomplete, contradictory, and changing requirements that are often difficult to recognize. It refers to an idea or problem that cannot be fixed, where there is no single solution to the problem; and "wicked" denotes resistance to resolution, rather than evil. Another definition is "a problem whose social complexity means that it has no determinable stopping point". Moreover, because of complex interdependencies, the effort to solve one aspect of a wicked problem may reveal or create other problems. Due to their complexity, wicked problems are often characterized by organized irresponsibility.

Knowledge-based engineering (KBE) is the application of knowledge-based systems technology to the domain of manufacturing design and production. The design process is inherently a knowledge-intensive activity, so a great deal of the emphasis for KBE is on the use of knowledge-based technology to support computer-aided design (CAD) however knowledge-based techniques can be applied to the entire product lifecycle.

Design methods are procedures, techniques, aids, or tools for designing. They offer a number of different kinds of activities that a designer might use within an overall design process. Conventional procedures of design, such as drawing, can be regarded as design methods, but since the 1950s new procedures have been developed that are more usually grouped together under the name of "design methods". What design methods have in common is that they "are attempts to make public the hitherto private thinking of designers; to externalise the design process".

<span class="mw-page-title-main">Argument map</span> Visual representation of the structure of an argument

An argument map or argument diagram is a visual representation of the structure of an argument. An argument map typically includes all the key components of the argument, traditionally called the conclusion and the premises, also called contention and reasons. Argument maps can also show co-premises, objections, counterarguments, rebuttals, and lemmas. There are different styles of argument map but they are often functionally equivalent and represent an argument's individual claims and the relationships between them.

Horst Wilhelm Johannes Rittel was a design theorist and university professor. He is best known for popularizing the concept of wicked problem, but his influence on design theory and practice was much wider.

<span class="mw-page-title-main">Business decision mapping</span>

Business decision mapping (BDM) is a technique for making decisions, particularly for the kind of decisions that often need to be made in business. It involves using diagrams to help articulate and work through the decision problem, from initial recognition of the need through to communication of the decision and the thinking behind it.

<span class="mw-page-title-main">Issue-based information system</span> Argumentation scheme

The issue-based information system (IBIS) is an argumentation-based approach to clarifying wicked problems—complex, ill-defined problems that involve multiple stakeholders. Diagrammatic visualization using IBIS notation is often called issue mapping.

<span class="mw-page-title-main">IDEF4</span>

IDEF4, or Integrated DEFinition for Object-Oriented Design, is an object-oriented design modeling language for the design of component-based client/server systems. It has been designed to support smooth transition from the application domain and requirements analysis models to the design and to actual source code generation. It specifies design objects with sufficient detail to enable source code generation.

There is a large body of knowledge that designers call upon and use during the design process to match the ever-increasing complexity of design problems. Design knowledge can be classified into two categories: product knowledge and design process knowledge.

<span class="mw-page-title-main">Compendium (software)</span> Social science computer program

Compendium is a computer program and social science tool that facilitates the mapping and management of ideas and arguments. The software provides a visual environment that allows people to structure and record collaboration as they discuss and work through wicked problems.

In software engineering, a software development process is a process of planning and managing software development. It typically involves dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design and/or product management. It is also known as a software development life cycle (SDLC). The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.

<span class="mw-page-title-main">Method engineering</span> Term

Method engineering in the "field of information systems is the discipline to construct new methods from existing methods". It focuses on "the design, construction and evaluation of methods, techniques and support tools for information systems development".

<span class="mw-page-title-main">IDEF6</span>

IDEF6 or Integrated Definition for Design Rationale Capture is a method to facilitate the acquisition, representation, and manipulation of the design rationale used in the development of enterprise systems. This method, that wants to define the motives that drive the decision-making process, is still in development. Rationale is the reason, justification, underlying motivation, or excuse that moved the designer to select a particular strategy or design feature. More simply, rationale is interpreted as the answer to the question, “Why is this design being done in this manner?” Most design methods focus on what the design is.

<span class="mw-page-title-main">Problem structuring methods</span>

Problem structuring methods (PSMs) are a group of techniques used to model or to map the nature or structure of a situation or state of affairs that some people want to change. PSMs are usually used by a group of people in collaboration to create a consensus about, or at least to facilitate negotiations about, what needs to change. Some widely adopted PSMs include soft systems methodology, the strategic choice approach, and strategic options development and analysis (SODA).

<span class="mw-page-title-main">Douglas E. Noble</span> American architect

Douglas E. Noble is an American architect and tenured professor at the USC School of Architecture. He is a fellow of the American Institute of Architects. He is known for his work in four overlapping arenas: Architectural Computing, Building Science, Architecture Education, and Design Theories and Methods. He received the ACSA/AIAS New Faculty Teaching Award in 1995, and the ACSA Creative Achievement Award in 2013 He was named among the "10 most admired educators" in architecture in 2010 and was twice more selected as a "most admired educator" in 2015 and 2018 He is the recipient of the 2017 American Institute of Architects Los Angeles Chapter Presidential Honor as educator of the year.

References

  1. 1 2 3 Kunz, W.; Rittel, H. (1970), Issues as elements of information systems. Working Paper 131, Center for Urban and Regional Development, University of California Berkeley
  2. 1 2 3 Jarczyk, Alex P.; Löffler, Peter; Shipman III, Frank M. (1992), "Design Rationale for Software Engineering: A Survey", 25th Hawaii International Conference on System Sciences, 2, pp. 577-586
  3. 1 2 Horner, J.; Atwood, M.E. (2006), "Effective Design Rationale: Understanding the Barriers", in Dutoit, A.H.; McCall, R.; Mistrík, I. et al., Rationale Management in Software Engineering, Springer Berlin Heidelberg, pp. 73-90
  4. 1 2 3 4 5 6 7 8 9 Lee, J. (1997). "Design Rationale Systems: Understanding the Issues". IEEE Expert 12 (3): 78–85
  5. 1 2 3 4 Burge, J.E.; Brown, D.C. (2000), "Reasoning with Design Rationale", in Gero, J., Artificial Intelligence in Design '00, Netherlands: Kluwer Academic Publ., pp. 611–629
  6. Xin, W.; Guangleng, X. (2001), "Design Rationale as Part of Corporate Technical Memory", Systems, Man and Cybernetics, pp. 1904 - 1908.
  7. 1 2 Stephen Toulmin (1958). The Uses of Argument. Cambridge: Cambridge University Press.
  8. McCall, R. (1978), On the structure and use of issue systems in design, Doctoral Dissertation, University of California, Berkeley, University Microfilms
  9. 1 2 Potts, C.; Burns, G. (1988), "Recording the reasons for design decisions", 10th International Conference on Software Engineering (ICSE '1988), pp. 418-427
  10. Lee, J. (1991), "Extending the Potts and Bruns model for recording design rationale", Proceedings of the 13th International Conference on Software Engineering (ICSE '13), IEEE Computer Society Press, Los Alamitos, CA, pp. 114-125
  11. Maclean, A.; Young, RM.; Moran, T. (1989), "Design rationale: the argument behind the artifact", SIGCHI Bull. 20, pp. 247-252114-125
  12. Maclean, A.; Young, RM.; Bellotti, VME.; Moran, T. (1996), "Questions, Options, and Criteria: Elements of Design Space Analysis", in Moran, T.; Carroll, J., Design Rationale Concepts, Techniques, and Use, Lawrence Erlbaum Associates, pp. 53-106
  13. Barry Boehm, Ross, R (1989). "Theory-W software project management: principles and examples.". IEEE Transactions on Software Engineering 18 (7): 902-916.
  14. 1 2 Pena-Mora, F.; Sriram, D.; Logcher, R. (1993), "SHARED-DRIMS: SHARED Design Recommendation-Intent Management System", Proceedings Enabling Technologies Infrastructure for Collaborative Enterprise, IEEE Press, Morgantown, WV, pp. 213-221
  15. Dehlinger, H. (1978), Project STIEC: Systems Analysis of the Generation and Dissemination of Scientific and Technological Information in the European Community" Report No. 26: Report on a Batch - Version of STIEC, Heidelberg/Stuttgart
  16. Conklin, J.; YakemBegemanovic, M. (1988). "gIBIS: A hypertext tool for exploratory policy discussion". ACM Transactions on Office Information Systems 6 (4): 303-331.
  17. Carroll, JM; Rosson, M (1992). "Getting around the task-artifact cycle: how to make claims and design by scenario". ACM Trans. Inf. Syst. 10 (2): 181-212
  18. Carroll, J. M., & Rosson, M. B. (2003). Design rationale as theory. HCI models, theories, and frameworks: toward a multidisciplinary science, 431-461.
  19. 1 2 3 Burge, J.; Brown, D.C. (1998), Design Rationale: Types and Tools, Technical Report, Worcester Polytechnic Institute, Computer Science Dept., retrieved on 27 April 2007
  20. Chen, A.; McGinnis, B.; Ullman, D.; Dietterich, T. (1990), "Design History Knowledge Representation and Its Basic Computer Implementation", The 2nd International Conference on Design Theory and Methodology, Chicago, IL, pp. 175-185
  21. Reynolds, Chris (2000), What is the Toulmin Model? Archived 2007-08-25 at the Wayback Machine Paper at concentric.net.
  22. Conklin, J.; Yakemovic, K. (1991). "A Process-Oriented Approach to Design Rationale". Human-Computer Interaction 6 (3 & 4): 357–391.
  23. Rittel, Horst W. J.; Noble, Douglas (January 1989). Issue-based information systems for design (PDF) (Technical report). Berkeley, CA: Institute of Urban and Regional Development, University of California. OCLC   20155825. 492.
  24. McCall, R.J. (1991). "PHI: A Conceptual Foundation for Design Hypermedia". Design Studies 12 (1): 30–41.
  25. Maclean, A.; Young, RM.; Bellotti, VME.; Moran, T. (1996), "Questions, Options, and Criteria: Elements of Design Space Analysis", in Moran, T.; Carroll, J., Design Rationale Concepts, Techniques, and Use, Lawrence Erlbaum Associates, pp. 53-106
  26. 1 2 Lee, J. (1991), "Extending the Potts and Bruns model for recording design rationale", Proceedings of the 13th International Conference on Software Engineering (ICSE '13), IEEE Computer Society Press, Los Alamitos, CA, pp. 114-125
  27. Burge, J. (2005), Software Engineering Using design RATionale, Worcester Polytechnic Institute, Computer Science Dept
  28. 1 2 Barry Boehm; Kitapci, H. (2006), "The WinWin Approach: Using a Requirement Negotiation Tool for Rationale Capture and Use", in Dutoit, A.H.; McCall, R.; Mistrík, I. et al., Rationale Management in Software Engineering, Springer Berlin Heidelberg, pp. 173-190
  29. Barry Boehm (1998). "A spiral model of software development and enhancement". Computer 21 (5): 61–72
  30. Bose, P. (1995). "A Model for Decision Maintenance in the WinWin Collaboration Framework". Knowledge Based Software Engineering (KBSE '95).
  31. 1 2 Dutoit, A.; McCall, B.; Mistrik et al., eds. (2006), Rationale Management in Software Engineering, Springer pp.1-48.
  32. O. Zimmermann, C. Miksovic, J. Küster, Reference Architecture, Metamodel and Modeling Principles for Architectural Knowledge Management in Information Technology Services. Journal of Systems and Software, Elsevier. Vol. 85, Issue 9, Sept. 2012
  33. Whelton, Michael; Ballard, Glenn; Tommelein, Iris (2007) Application Of Design Rationale Systems To Project Definition – Establishing A Research Project. Archived 2007-09-28 at the Wayback Machine Retrieved on 27 April 2007
  34. Moran, T.; Carroll, J., eds. (1996), Design Rationale Concepts, Techniques, and Use, Lawrence Erlbaum Associates,
  35. Dutoit, Rationale Management in Software Engineering

Further reading

Books
Special Issues
Workshops