Elsevier

Journal of Systems and Software

Volume 85, Issue 9, September 2012, Pages 1995-2013
Journal of Systems and Software

RCDA: Architecting as a risk- and cost management discipline

https://doi.org/10.1016/j.jss.2012.03.071Get rights and content

Abstract

We propose to view architecting as a risk- and cost management discipline. This point of view helps architects identify the key concerns to address in their decision making, by providing a simple, relatively objective way to assess architectural significance. It also helps business stakeholders to align the architect's activities and results with their own goals. We examine the consequences of this point of view on the architecture process. The point of view is the basis of RCDA, the Risk- and Cost Driven Architecture approach. So far, more than 150 architects have received RCDA training. For a majority of the trainees, RCDA has a significant positive impact on their architecting work.

Highlights

► We propose to view architecting as a risk- and cost management discipline. ► This view helps architects prioritize their work and communicate with business stakeholders. ► The point of view is the basis of RCDA, the Risk- and Cost Driven Architecture approach. ► A survey shows that RCDA has a significant positive impact on the majority of architects trained in it.

Introduction

The notion of “software architecture” is one of the key technical advances in the field of software engineering over the last decades (Farenhorst and de Boer, 2009). In that period, there have been two distinct fundamental views as to the nature of architecture:

  • 1.

    Architecture as a higher level abstraction for software systems, expressed in components and connectors (Shaw, 1990, Perry and Wolf, 1992)

  • 2.

    Architecture as a set of design decisions, including their rationale (Kruchten, 1998, Jansen and Bosch, 2005, Tyree and Akerman, 2005)

View 1 is about “the system-level design of software, in which the important decisions are concerned with the kinds of modules and subsystems to use and the way these modules and subsystems are organized” (Shaw, 1990). View 1 is focused on the choice and organization of components and connectors, but practicing architects’ decisions appear to have a much wider range.

View 2, architecture as a set of design decisions (Jansen and Bosch, 2005), is more generic and has been beneficial to both the architecture research community and its practitioners (Tyree and Akerman, 2005). This view of architecture implies a view of architecting as a decision making process, and likewise a view of the architect as a decision maker.

In recent years, this view of architecture and architecting has been especially beneficial in promoting insight into architectural knowledge management: among other results, it has led to new insights into the structure of what architects need to know and document to make their decisions (Tyree and Akerman, 2005, Ivanović and America, 2010), and it has stimulated research into re-usable architectural decisions (SHARK, 2009, Zimmermann et al., 2007). Both these avenues of research have devoted much attention to structure and tooling, but so far there is limited focus on what the architect's decisions should be about beyond components and connectors.

We propose to view architecting as a risk- and cost management discipline. In other words, the important things architects should make decisions about are those concerns that have the highest impact in terms of risk and cost. Of course, risk and cost have always been important drivers in architecture (Kazman et al., 2002), but our point of view goes a step further than this obvious point: we see risk- and cost management as the primary business goal of architecting. All architecture activities such as architecture documentation, evaluation and decision making are in essence ways to fulfill this business goal.

As we will see in this paper, considering architecture as a risk- and cost management discipline, rather than merely as a high-level design discipline, makes the architect more effective in a number of ways:

  • it helps the architect order their work, in both focus and timing of their decision making

  • it helps in communicating about the architecture with stakeholders in business terms

This point of view is the basis of an architecting approach developed in Logica: Risk- and Cost Driven Architecture (RCDA), discussed in Section 7. RCDA encompasses a lot more than merely viewing architecture as a risk- and cost-driven activity. It consists of a set of practices covering the whole spectrum of activities involved in architecting. So far, more than 150 architects have received RCDA training. We have assessed the impact hereof on the work of the architects. It shows that for a majority of the trainees, RCDA has a significant positive impact on their architecting work.

The rest of this paper is structured as follows:

  • in Section 2, we will show how we arrived at this point of view of what architecture is all about, and define some key concepts

  • in Section 3, we will elaborate on the meaning of risk and cost and how they determine architectural significance

  • then in Section 4, we will examine how viewing architecture as a risk- and cost management discipline impacts the architecting process and helps architects in the focus and timing of their decision making

  • in Section 5, we will use three examples from industry to illustrate how this approach helps to communicate architectural significance to stakeholders

  • in Section 6, we will give some guidance on how to implement this point of view

  • in Section 7, we give an overview of RCDA, the Risk- and Cost Driven Architecture Approach

  • in Section 8, we give quantitative and qualitative evidence of the impact of RCDA

  • we conclude the paper with a discussion, including some frequently asked questions about this approach

This paper is an extended version of Poort (2011). The main extensions consist of the description of RCDA in Section 7 as well as the empirical validation of its impact in Section 8. We have also added more depth to the discussion on risk and the related work section.

Section snippets

What are architectural decisions about?

For years, we have been talking and writing about software architecture as a set of design decisions (Kruchten, 1998, Jansen and Bosch, 2005, Tyree and Akerman, 2005). Hence, the topic of an architect's decisions is supposedly software design. If we take the slightly more inclusive accepted view of software architecture as the architecture of software-intensive systems (ISO, 2011), this view of the world sees a software architect as someone who makes design decisions about software-intensive

Architectural significance in terms of risk and cost

In section 2, we stated that architects focus on concerns that involve high risk and cost. In this section, we make this statement more exact: the architectural significance of concerns can be represented by their cost and risk level.

Below, we present an approach for roughly quantifying the architectural significance of a concern. The purpose of quantifying the architectural significance of concerns is to be able to order them, so that architects can direct their attention to the most

Impact on architecting process

We will now examine the impact of the risk- and cost management view of architecture on the architecting process. In the previous sections, we have discussed the importance of managing risk and cost in architecture, and presented a method for ordering concerns by architectural significance. In this section, we will show how this ordering can be used to optimize an architecting process so that it becomes better at controlling risk and cost.

As a reference architecting process, we use the generic

Stakeholder communication

Many stakeholders, especially business managers, are not used to thinking and talking in terms of levels of abstraction or components and connectors. Part of the architect's job is to translate architectural concerns and decisions into terms that stakeholders understand (Clements et al., 2007). One substantial advantage of expressing architectural significance in terms of risk and cost is that they are universal terms that most stakeholders can relate to. These terms smooth communication

Implementing the risk- and cost driven view of architecting

After elaborating the theoretical implications of viewing architecting as a risk- and cost management discipline in the previous sections, we will now focus on the practical implications for the architect's activities. We will do this in the form of a list of guiding principles that the architect can apply to their way of working. This guidance is mostly independent of the particular flavor of architecting process used.

In order to improve the effectiveness of their work in terms of risk and

The RCDA approach

This section describes RCDA, the Risk and Cost Driven Architecture approach developed in Logica. The approach consists of a set of practices, harvested from Logica practitioners and enhanced by our research presented in earlier sections of this paper. We present the structure of the approach and its rationale.

Of the architects we have taught the approach so far, about half did not call themselves software architects. Their area of interest was often wider than software-intensive systems,

Impact survey

In October 2011, all Logica architects that were trained in RCDA were surveyed. The objective of the survey was to assess the impact of RCDA and its training on the work of the architects. In addition to the survey itself, we organized an expert workshop; a guided discussion with a select group of RCDA trained architecture experts. The workshop was held after the survey, and its purpose was to enhance the initial quantitative analysis results with qualitative knowledge from practicing

Risk in software architecture

Attention to risk is fairly ubiquitous in software development. A state of the art overview of risk management in software development is given in Bannerman (2008). The importance of risk analysis in software development is aptly phrased by Gilb (1988): “If you don’t actively attack the risks, they will actively attack you”. Most of this literature does not specifically focus on software architecture. One class of papers and books discusses a variety of risks associated with software

Frequently asked questions

In this section we discuss a number of questions that were frequently raised when teaching the approach to practicing architects. Since they led to interesting discussions, we are presenting them here.

Conclusion

We have presented and elaborated a view of solution architecting as a risk- and cost management discipline. Although this view is an extension of pre-existing views on software architecture, it goes beyond software architecture alone: it includes other architecture genres, captured under the name solution architecture.

The risk- and cost driven view on architecture is the basis for RCDA, the Risk- and Cost Driven Architecture Approach. It is part of a solution architecture training program that

Eltjo R. Poort (1961) was born in Amsterdam, The Netherlands. After graduating in Theoretical Physics at the VU University, he started a career in the software industry. In 1993 Eltjo joined Logica, where he fulfilled various engineering and project management roles. He was appointed Lead Expert on Solution Architecture in 2004. During the last decade, Eltjo's reflections on his work in IT have regularly been published in academic circles, resulting in a PhD thesis in 2012.

References (58)

  • Agile Alliance, 2001. Manifesto for Agile Software Development....
  • Barbacci, M.R., Ellison, R., Lattanze, A.J., Stafford, J.A., Weinstock, C.B., Wood, W.G., 2003. Quality Attribute...
  • L. Bass et al.

    Software Architecture in Practice

    (2003)
  • L. Bass et al.

    Risk themes discovered through architecture evaluations

  • Valuation of software initiatives under uncertainty: concepts, issues, and techniques

  • B. Boehm et al.

    Balancing Agility and Discipline

    (2004)
  • B. Boehm

    Software Engineering Economics

    (1981)
  • B. Boehm

    A spiral model of software development and enhancement

    IEEE Computer

    (1988)
  • B.W. Boehm

    Software risk management: principles and practices

    IEEE Software

    (1991)
  • P. Clements et al.

    Software Product Lines

    (2002)
  • P. Clements et al.

    The duties skills and knowledge of software architects

  • V. Clerc et al.

    The architect's mindset

  • R. de Boer et al.

    Architectural knowledge: getting to the core

  • Fairbanks, G. Just enough architecture: the risk-driven model. Crosstalk, Nov/Dec...
  • Farenhorst, R., de Boer, R., 2009. Architectural knowledge management—supporting architects and auditors. Ph.D. thesis,...
  • Farenhorst, R., van Vliet, H., 2008. Experiences with a wiki to support architectural knowledge sharing. Third Workshop...
  • M.S. Feather et al.

    A broad, quantitative model for making early requirements decisions

    IEEE Software

    (2008)
  • M. Fowler

    Who needs an architect?

    IEEE Software

    (2003)
  • E. Gamma et al.

    Design Patterns: Elements of Reusable Object-Oriented Software

    (1995)
  • Cited by (18)

    • Architectural decision-making as a financial investment: An industrial case study

      2021, Information and Software Technology
      Citation Excerpt :

      For the case of our study, the participants described the used approach as a conceptual process that is neither structured, nor documented. Second, the results of the study validated the claim of Poort and van Vliet [26] that supporting decision-making with financial data (e.g., cost or risk) can facilitate the communication with business stakeholders. Regarding the proposed approach, our work complies with this of Seaman et al. [29], who proposed to use the cost-benefit analysis method from economics, and integrate in the decision-making process the business perspective, as supported by de Almeida et al. [6].

    • A systematic review of software architecture visualization techniques

      2014, Journal of Systems and Software
      Citation Excerpt :

      Two of the most commonly used perspectives of SA are architectural viewpoint and architecting process perspective. There are two distinct viewpoints on SA, structural and decisional (Poort and van Vliet, 2012): the structural viewpoint expresses SA with components and connectors and considers it as a high-level software structure of a system (Bass et al., 2012). This viewpoint mainly focuses on the end products (e.g., components and connectors) of software architecting process.

    • Technical Debt Management: The Road Ahead for Successful Software Delivery

      2023, Proceedings - 2023 IEEE/ACM International Conference on Software Engineering: Future of Software Engineering, ICSE-FoSE 2023
    • How to design and set architecture for advanced cyber-threat intelligence, detection, and mitigation platforms

      2022, Security Technologies and Methods for Advanced Cyber Threat Intelligence, Detection and Mitigation
    • How Software Architects Focus Their Attention

      2021, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
    • A Lightweight Architecture Analysis of a Monolithic Messaging Gateway

      2020, Proceedings - 2020 IEEE International Conference on Software Architecture Companion, ICSA-C 2020
    View all citing articles on Scopus

    Eltjo R. Poort (1961) was born in Amsterdam, The Netherlands. After graduating in Theoretical Physics at the VU University, he started a career in the software industry. In 1993 Eltjo joined Logica, where he fulfilled various engineering and project management roles. He was appointed Lead Expert on Solution Architecture in 2004. During the last decade, Eltjo's reflections on his work in IT have regularly been published in academic circles, resulting in a PhD thesis in 2012.

    Hans van Vliet is Professor in Software Engineering at the VU University Amsterdam, The Netherlands, since 1986. He got his PhD from the University of Amsterdam. His research interests include software architecture, knowledge management in software development, global software development, and empirical software engineering. Before joining the VU University, he worked as a researcher at the Centrum voor Wiskunde en Informatica (CWI, Amsterdam). He spent a year as a visiting researcher at the IBM Almaden Research Center in San Jose, California. He is the author of “Software Engineering: Principles and Practice”, published by Wiley (3rd Edition, 2008). He is a member of IFIP Working Group 2.10 on software architecture, and the Editor in Chief of the Journal of Systems and Software.

    View full text