This paper reports on experiences of migrating to a new way of documenting software architecture for embedded software development at a company developing software-intensive systems. A lightweight modeling approach using the C4 model for software architecture was adopted, where the architecture diagrams were expressed in PlantUML and stored within Markdown files alongside the code. We describe the problem context and the new approach, and report on a questionnaire survey among the software engineers to elicit their experiences and opinions two years after the introduction of this way of working. The majority of the 48 respondents reported being successful in using the new way of working and see benefits in terms of the better organization of the documentation as stored alongside the code, a clearer process of documenting, better alignment with the code, and ease of use. Engineers report a manageable learning curve but foresee challenges in maintenance and communication of changes across teams working on embedded software, hardware and electronics.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Adopting the C4 Model for Lightweight Architecture Modeling - An Experience Report

  • Robbert Jongeling,
  • Niels Jørgen Strøm,
  • Lars Peter Torp Nissen,
  • Martin Kitchen,
  • Jan Carlson

摘要

This paper reports on experiences of migrating to a new way of documenting software architecture for embedded software development at a company developing software-intensive systems. A lightweight modeling approach using the C4 model for software architecture was adopted, where the architecture diagrams were expressed in PlantUML and stored within Markdown files alongside the code. We describe the problem context and the new approach, and report on a questionnaire survey among the software engineers to elicit their experiences and opinions two years after the introduction of this way of working. The majority of the 48 respondents reported being successful in using the new way of working and see benefits in terms of the better organization of the documentation as stored alongside the code, a clearer process of documenting, better alignment with the code, and ease of use. Engineers report a manageable learning curve but foresee challenges in maintenance and communication of changes across teams working on embedded software, hardware and electronics.