Lightweight Evaluation of Software Architecture Decisions

Veli Pekka Eloranta, Uwe van Heesch, Paris Avgeriou, Neil Harrison, Kai Koskimies

Research output: Chapter in Book/Report/Conference proceedingChapterAcademicpeer-review

17 Citations (Scopus)

Abstract

Software architecture is an important foundation of every software project. Therefore, it is advisable to evaluate it in early stages of the software design. Architecture evaluation helps to uncover risks and suboptimal decisions before they cause tremendous cost and re-engineering efforts. Unfortunately, many software companies still do not integrate architecture evaluations into their software projects as a standard activity. This is partially because architecture evaluation is perceived as complicated and time-consuming by some people. Modern agile development methodologies are perceived as avoiding up-front architectural design, which amplifies this problem. In this chapter, we present an extended description of the decision-centric architecture review (DCAR) method. DCAR is lightweight and easy to integrate into different types of software projects (traditional and agile projects). We present the method in detail and show how it can be used in an incremental development process. Additionally, we explain different approaches for integrating DCAR with Scrum to support continuous and iterative architecture evaluation. Finally, we present industrial experiences from the evaluations we carried out using DCAR, both as external reviewers in industrial projects and when applying DCAR in our own industrial software projects.
Original languageEnglish
Title of host publicationRelating System Quality and Software Architecture
PublisherHANLEY & BELFUS-ELSEVIER INC
Pages157-179
Number of pages23
ISBN (Print)9780124171688
DOIs
Publication statusPublished - 25-Jul-2014

Publication series

NameRelating System Quality and Software Architecture

Keywords

  • Software architecture
  • Software architecture decisions
  • Software architecture evaluation

Cite this