一句话:五项工业案例实证表明:架构师写代码有助于质量,架构战术比功能更易出错,但架构师引入缺陷更少。
软件架构师是否也应编写代码是一个长期争论的问题。为满足性能、安全、可靠性等质量属性,架构师需选择并组合架构模式、风格或战术,并在开发中完整正确地落实以避免设计漂移。本文用数据分析技术研究五个大型软件系统,考察编写代码的架构师对软件质量的影响与角色,并对架构师进行后续访谈。实证结果支持“架构师应写代码”的务实观点:实现架构战术比交付普通功能更复杂,战术实现比软件功能更易出错;同时,相较于普通开发者,架构师在架构战术实现中倾向于引入更少缺陷。
Whether software architects should also code is an enduring question. In order to satisfy performance, security, reliability and other quality concerns, architects need to compare and carefully choose a combination of architectural patterns, styles or tactics. Then later in the development cycle, these architectural choices must be implemented completely and correctly so there will not be any drift from envisioned design. In this paper, we use data analytics-based techniques to study five large-scale software systems, examining the impact and the role of software architects who write code on software quality. Our quantitative study is augmented with a follow up interview of architects. This paper provides empirical evidence for supporting the pragmatic opinions that architects should write code. Our analysis shows that implementing architectural tactics is more complex than delivering functionality, tactics are more error prone than software functionalities, and the architects tend to introduce fewer bugs into the implementation of architectural tactics compared to the developers.
DOI 原文 ·
@inproceedings{paperbot4534,
title = {Roles and impacts of hands-on software architects in five industrial case studies},
author = {Inayat Rehman and Mehdi Mirakhorli and Meiyappan Nagappan and Azat Aralbay Uulu and Matthew Thornton},
booktitle = {ICSE},
year = {2018},
doi = {10.1145/3180155.3180234}
}