Publicité
Publicité

Contenu connexe

Présentations pour vous(20)

Publicité

Making Decisions - From Software Architecture Theory to Practice

  1. Making Decisions – From Software Architecture Theory to Practice @PAvgeriou P.Avgeriou@rug.nl
  2. Software Archaeology Users Management Study Toolkit School Administration Courseware Authoring System Administration Course management Searching Assessment Courseware Delivery Business Object Management File Management Metadata Management Content Packaging Communication Management Web Delivery TCP/IP Main Calendar Raw Data Management RDBMS DataStore access DBClient FTP SMTP/IMAP HTTP Enterprise Interoperability Digital Library Libraries or/and APIs
  3. Eureka! Architecting is about making decisions!
  4. Paradigm Shift 2004-05
  5. Decision-centric architecting Design decisions & rationale Models Languages Expertise skills successes best practices Business environment technologies Concerns requirements assumptions risks Models Languages
  6. Decision-centric architecting Design decisions & rationale Models Languages Expertise skills successes best practices Business environment technologies market Concerns requirements assumptions risks Architecture Knowledge
  7. From novelty to mainstream Perry & Wolf 42010 Design decisions & rationale
  8. Wait, what is the problem? Knowledge vaporization
  9. Codification Personalization
  10. Paradigm Shift Codification Tools 2004-05 2005-10
  11. Codification 101 Knowledge Architect plug-ins A. Jansen, P. Avgeriou and J. van der Ven, Enriching Software Architecture Documentation. JSS 2009
  12. The Knowledge Architect A. Jansen, P. Avgeriou and J. van der Ven, Enriching Software Architecture Documentation. JSS 2009
  13. 5 tools - We got some things right! › Understanding core AK concepts & types › Architecting lifecycle coverage › Reuse support A. Tang, P. Avgeriou, A. Jansen, R. Capilla, M. Ali Babar, A Comparative Study of Architecture Knowledge Management Tools, JSS 2010
  14. #Fail
  15. #Fail Feeding the beast
  16. Paradigm Shift Codification Tools Sharing AK 2004-05 2005-10 2008-12
  17. What if we could share AK? Core AK repo1 AK repo3 AK repo2 AK repo1 AK repo2 AK repo3
  18. P. Liang, A. Jansen, P. Avgeriou, A. Tang, L. Xu, Advanced quality prediction model for software architectural knowledge sharing, JSS 2011 Decision Topic Concern Alternative Decision Specification originates from raises creates adresses chooses Risk Requirement
  19. 2004 2005 2006 2007 2008 2010 2013 2014 RAT Archium AREL PAKME ADDSS Eagle ADkWik KA ADDM* ADDSS 2.1* SAW* ADvISE* Decision Architect* 1st Generation 2nd Generation 3rd Generation ADDSS 2.0 SEURAT RGT* * alive/used R. Capilla, A. Jansen, A. Tang, P. Avgeriou, M. Ali Babar, 10 years of Software Architecture Knowledge Management: Practice and Future, JSS 2016
  20. #Fail – Translating / Core Metamodel › ISO 42010 compliant but too much variability › Core metamodel too narrow • Organization-, Domain-, Project-specific › Translation expensive & information loss Whatever works! R. Capilla, A. Jansen, A. Tang, P. Avgeriou, M. Ali Babar, 10 years of Software Architecture Knowledge Management: Practice and Future, JSS 2016
  21. Paradigm Shift Codification Tools Sharing AK 2004-05 2005-10 2008-12 X Lightweight tools 2013-16
  22. Back to the drawing board › Increased awareness of decision documentation, but • Not part of toolset • Cost/benefit unfavorable › Build a lightweight tool with and for the architects • Connect with process and tooling • Just in time C. Manteuffel, D. Tofan, P. Avgeriou, H. Koziolek, T. Goldschmidt, Decision architect – A decision documentation tool for industry, JSS 2016.
  23. Decision Architect Decision Documentation Framework U. van Heesch, P. Avgeriou, R. Hilliard, A documentation framework for architecture decisions, JSS 2012
  24. “Basically everything is targeted that is needed for a decision documentation.” “I don't have to use another tool for all my decisions but I can do it directly where I spend most of my design work; that's a really big effect for me” “Sometimes it’s enough to look at the relations to understand the rationale behind a decision.” “I would just create more documentation because I have this tool.” C. Manteuffel, D. Tofan, P. Avgeriou, H. Koziolek, T. Goldschmidt, Decision architect – A decision documentation tool for industry, JSS 2016.
  25. Tip of the iceberg?
  26. State of Practice › Documenting decisions? • Aware of importance but mostly informal sharing › Where to find decisions? • Requirements & functional/logical/UML views • Word/Powerpoint/Visio/wiki R. Capilla, A. Jansen, A. Tang, P. Avgeriou, M. Ali Babar, 10 years of Software Architecture Knowledge Management: Practice and Future, JSS 2016
  27. Paradigm Shift Codification Tools Sharing AK Automated documentation 2004-05 2005-10 2008-12 2017-23 X Lightweight tools 2013-16
  28. Automating AK documentation
  29. AK meets MSR </> {…}
  30. AK in › “So the approach I propose is...to iterate through the key space on a per-CF basis, compute a hash...” [CASSANDRA-193]. › “The dependencies between them should be enforced to avoid cyclic dependencies. At present they all have dependencies on each other” [HADOOP-3750] › “This improves the code readability and maintainability” [TAJO- 121] › Keeping things config-file based has two drawbacks:...” [CASSANDRA-44] M. Soliman, M. Galster, P. Avgeriou, An Exploratory Study on Architectural Knowledge in Issue Tracking Systems, ECSA 2021
  31. › AK in Issues has issues • Majority of issues not architectural • Rarely tagged as architectural • Very unstructured › Lend themselves naturally to ML/NLP M. Soliman, M. Galster, P. Avgeriou, An Exploratory Study on Architectural Knowledge in Issue Tracking Systems, ECSA 2021 AK in
  32. As good as classifying cat pictures!
  33. Breaking Bad “Don’t look for good things, look for bad things” Architectural Decisions that Incur Technical debt | 35 © Sony Pictures Television
  34. › Design decisions incurring technical debt • Violation of modularity • Using obsolete technology • Adopting non-optimal solutions › Technical Debt in Architecture • More impactful and higher priority • “it prevents production” Y. Li, M. Soliman, P. Avgeriou, L. Somers, Self-Admitted Technical Debt in the Embedded Systems Industry: An Exploratory Case Study, IEEE TSE 2023. AK in {…}
  35. Direct and easy to use Value-adding Multiple classifiers Datasets small & few Expertise in ML + -
  36. Datasets wanted
  37. AK in</>
  38. A way to 1. Show where bad decisions are in the system 2. Make them visible to the rest of the team 3. Determine when a problem is fixed 4. Find out if the problem reappears in the future D. Sas, P. Avgeriou, and U. Uyumaz. On the evolution and impact of architectural smells—an industrial case study, Empirical Software Engineering 2022 AK in</>
  39. A way to 1. Show where bad decisions are in the system 2. Make them visible to the rest of the team 3. Determine when a problem is fixed 4. Find out if the problem reappears in the future “[...] this will be very useful, for example, to any person coming to the team or a new architect of a team. Graphs like this will then provide years of experience in one go.” D. Sas, P. Avgeriou, and U. Uyumaz. ”On the evolution and impact of architectural smells—an industrial case study, Empirical Software Engineering 2022 ≠Knowledge vaporization AK in</>
  40. Paradigm Shift Codification Tools Sharing AK Automated documentation Arch Bots Next decade 2004-05 2005-10 2008-12 2017-23 X Lightweight tools 2013-16
  41. Architecting + Dev Bots = Arch Bots? Architecting + Dev Bots = Arch Bots
  42. Arch Bots › Mundane architecture house-keeping • Decision documentation and update (on the fly) • Check Architecture conformance • Check out-of-date decisions › Converse for decision support › Search for decisions & AK › Suggest alternative solutions › Suggest refactorings
  43. Beware of bots bearing gifts › Bot input critically reviewed • Descriptive, not prescriptive • Ethics check › Trust is crucial • Elicit requirements from architects!
  44. Stay with the problem Impact practice “The life of a software architect is a long (and sometimes painful) succession of suboptimal decisions made partly in the dark“ P. Kruchten
  45. Thank you! Paradigm Shift Codification Tools Sharing AK Automated documentation Arch Bots Next decade @PAvgeriou P.Avgeriou@rug.nl 2004-05 2005-10 2008-12 2017-23 X Lightweight tools 2013-16
  46. Image Credits › ‘Feeding the Beast’ created with Starry AI › ‘Automating AK documentation’ created with Dall-E › ‘AK meets MSR’ icons from icons8.com › Cat picture from Loukas Avgeriou › ‘Architecting + Dev Bots = Arch Bots’ from depositphotos.com › ‘IoT & Block-chain’ created with Dall-E The rest of the pictures are licensed with Creative Commons without attribution
Publicité