Skip to main content

Helping Novice Architects to Make Quality Design Decisions Using an LLM-Based Assistant

  • Conference paper
  • First Online:
Software Architecture (ECSA 2024)

Abstract

Architectural knowledge and specifically design decisions have become first-class entities to be captured routinely in a design process. However, the quality of the decisions captured is often low. Part of the problem is that reflections intended to criticize, and thus improve, the decisions are seldom made in architecture teams, particularly when involving novice architects. To improve reflective practices and capture better decisions, we propose an design assistant approach based on generative AI techniques. Our assistant, called ArchMind, relies on two information sources: architectural knowledge about patterns, and information about the system under design. Furthermore, the assistant takes advantage of LLMs to progressively aid users in selecting and assessing alternative decisions, until capturing them using an Architecture Decision Record format. ArchMind mainly targets novice architects as discussed in an initial experiment using the assistant off-line for a classroom project. The generated ADRs were concrete and well-justified in their design rationale, although they tended to miss system-specific details.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Data Availability Statement

We provide a Github site with the source code and data used in the paper: https://github.com/tommantonela/archmind. A version of ArchMind can be run via Streamlit: https://archmind.streamlit.app/.

Notes

  1. 1.

    In our experiment, this role was played by two of the authors.

  2. 2.

    We included Design Patterns: Elements of Reusable Object-Oriented Software (Gamma, Helm, Johnson, Vlissides), Microservices Patterns: With examples in Java (Richardson), Design It!: From Programmer to Software Architect (Keeling) and Software Architecture in Practice (Bass, Clements, Kazman, Safari).

  3. 3.

    This does not mean that the ADRs produced by the students were considered as the ground truth but rather as a reference solution for comparison purposes.

References

  1. Brown, T., et al.: Language models are few-shot learners. Adv. Neural Inf. Process. Syst. 33, 1877–1901 (2020)

    Google Scholar 

  2. Capilla, R., Zimmermann, O., Carrillo, C., Astudillo, H.: Teaching students software architecture decision making. In: Jansen, A., Malavolta, I., Muccini, H., Ozkaya, I., Zimmermann, O. (eds.) ECSA 2020. LNCS, vol. 12292, pp. 231–246. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-58923-3_16

    Chapter  Google Scholar 

  3. Dhar, R., Vaidhyanathan, K., Varma, V.: Can llms generate architectural design decisions?-An exploratory empirical study. arXiv preprint arXiv:2403.01709 (2024)

  4. Lewis, P., et al.: Retrieval-augmented generation for knowledge-intensive NLP tasks. Adv. Neural Inf. Process. Syst. 33, 9459–9474 (2020)

    Google Scholar 

  5. Ozkaya, I.: Can architecture knowledge guide software development with generative AI? IEEE Softw. 40(5), 4–8 (2023)

    Article  Google Scholar 

  6. Razavian, M., Tang, A., Capilla, R., Lago, P.: In two minds: how reflections influence software design thinking. J. Softw. Evol. Process 28(6), 394–426 (2016)

    Google Scholar 

  7. White, J., Hays, S., Fu, Q., Spencer-Smith, J., Schmidt, D.C.: Chatgpt prompt patterns for improving code quality, refactoring, requirements elicitation, and software design. CoRR abs/2303.07839 (2023)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to J. Andrés Díaz-Pace .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Díaz-Pace, J.A., Tommasel, A., Capilla, R. (2024). Helping Novice Architects to Make Quality Design Decisions Using an LLM-Based Assistant. In: Galster, M., Scandurra, P., Mikkonen, T., Oliveira Antonino, P., Nakagawa, E.Y., Navarro, E. (eds) Software Architecture. ECSA 2024. Lecture Notes in Computer Science, vol 14889. Springer, Cham. https://doi.org/10.1007/978-3-031-70797-1_21

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-70797-1_21

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-70796-4

  • Online ISBN: 978-3-031-70797-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics