TY - CHAP
T1 - Lightweight Evaluation of Software Architecture Decisions
AU - Eloranta, Veli Pekka
AU - van Heesch, Uwe
AU - Avgeriou, Paris
AU - Harrison, Neil
AU - Koskimies, Kai
PY - 2014/7/25
Y1 - 2014/7/25
N2 - 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.
AB - 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.
KW - Software architecture
KW - Software architecture decisions
KW - Software architecture evaluation
U2 - 10.1016/B978-0-12-417009-4.00006-5
DO - 10.1016/B978-0-12-417009-4.00006-5
M3 - Chapter
C2 - 17553928
SN - 9780124171688
T3 - Relating System Quality and Software Architecture
SP - 157
EP - 179
BT - Relating System Quality and Software Architecture
PB - HANLEY & BELFUS-ELSEVIER INC
ER -