SlideShare une entreprise Scribd logo
1  sur  36
Towards High-Quality Software
Architecture through Collaborative
Design Decisions

Marcin Nowak
PhD candidate at University of Lugano
Research advisor: professor Cesare Pautasso
Towards High-Quality Software
Architecture through Collaborative
Design Decisions

Marcin Nowak
PhD candidate at University of Lugano
Research advisor: professor Cesare Pautasso
Context
• Software Architecture
  • The fundamental abstraction in software design
  • “Set of architectural design decisions”




                                                     4
Context
• Software Architectural Knowledge
  • Design Artifacts + Decisions




                                     5
Assumption
• The quality of each design artifact is linked and therefore, in
  order to get predictable quality of the final product, one needs
  to be able to estimate and control the quality of the artifacts
  in the chain.




                                                                     7
Concerns about complexity
• Limited expertise and overwhelming complexity
• Misalignment of available and required expertise




                                                     10
Concerns about process
• Expensive changes in design
• Misestimation of the design progress



                            Envisioning

                 Support                   Planning




               Deployment                 Development

                            Stabilizing

                                                        11
Research Problems

1. Decision Quality Estimation
2. Collaborative design decisions




                                    13
1. Decisions Quality Estimation

          “You can’t control what you can’t measure”
                                         Tom DeMarco

• Research Questions:
  • Q1: What is a good design decision and how to recognize it?
  • Q2: What are qualities of software architectural knowledge?
  • Q3: How to define, quantify and measure qualities of software
    architectural knowledge?




                                                                    14
2. Collaborative Design Decisions
• Research Question:
  • Q3: How to support collaborative software architecture design?




                                                                     15
Software Architecture Warehouse
(SAW)
                                  31
Software Architecture Warehouse




                                  33
Software Architecture Warehouse




                                  34
Software Architecture Warehouse




                                  35
SAW Benefits - analytics
• Misestimation of the design progress
• Late and expensive changes in design
  • Plan
  • Predict
  • Know your knowledge and know what you don’t know




                                                       36
SAW Benefits - collaboration
• Limited expertise and overwhelming complexity
• Misalignment of available and required expertise
  •   Document
  •   Find
  •   Share
  •   Decide




                                                     37
Software Architecture Warehouse
Contributions                     39
Knowledge Warehouse
• Import heterogeneous knowledge from multiple sources




                                                         41
SAW Meta-model
• Codify design decisions with minimal meta-model




                                                    42
Customizable meta-model
• Tailored to the specific domain needs




                                          43
Decision modeling




                    44
Decision modeling




                    45
Decision modeling




                    46
Decision modeling




                    47
Decision making
• One step, exclusive decision making.




                                         48
Fuzzy decision modeling




                          49
Knowledge Analytics
• An example of complexity metric




      17                           3.3 Collaborative design decision support environment

                                         a1   a2   a3   a4   a5   a6   i1   i2
            punctual complexity metric   1    1    1    2    1    2    5    3

           Table 3.2. Complexity met ric values for t he decision model of Figure 3.6
                                                                                    50
Decision Analytics
• Quantitative and qualitative metrics




                                         51
Decision Analytics
• Knowledge navigation guidance
• Decision making assistance




                                  53
Collaborative design support
• Decision and rationale management
• Interactive collocated and remote decision making




                                                      54
EVALUATION
             59
Evaluation environment
• In-class evaluation during the
  Software Architecture and Design course

• Industrial evaluation in:
  • Bank
  • Manufacturing company
  • Consulting environment




                                            60
Research Roadmap
• Decision analytics
  • Structural and dynamic metrics
  • Detection strategies
  • Decision guidance

• Collaborative decisions support
  • Consensus reaching support
  • Collaborative brainstorming support




                                          62
Countdown
• Decision analytics research winter 2012
• Architecture design collaboration research spring 2012
• Perform 3-6 months of industrial evaluation
  starting late spring 2012
• Start writing thesis in summer 2012
• Finish writing in winter (December) 2012
• Defend thesis either in February/March 2013




                                                           63
Publications
• SHARK Workshop - ICSE 2010, Cape Town – South Africa
  • Fuzzy decision modeling
  • Modeling unknown
  • Knowledge classification within spaces and domains


• SHARK Workshop - ICSE 2011, Honolulu - Hawaii
  • Adoption of the Goals, Questions, Metrics approach for
    measurements of within Software Architecture Design Spaces


• SATURN 2011 Conference, Burlingame – California
  • Demonstration of the Software Architecture Warehouse



                                                                 64
Summary



   Software Architecture Warehouse     Abstract Meta-model




Fuzzy Decision Modeling with Unknown    Decision Analytics   66

Contenu connexe

Similaire à Talk v71

User Experience Prototyping
User Experience PrototypingUser Experience Prototyping
User Experience PrototypingAlan Ho
 
Effective Prototyping Process for Software Creation
Effective Prototyping Process for Software CreationEffective Prototyping Process for Software Creation
Effective Prototyping Process for Software CreationJonathan Arnowitz
 
Agile and Secure
Agile and SecureAgile and Secure
Agile and SecureDenim Group
 
SharePoint and Lean Development: Critical Factors for Accelerating Time to Va...
SharePoint and Lean Development: Critical Factors for Accelerating Time to Va...SharePoint and Lean Development: Critical Factors for Accelerating Time to Va...
SharePoint and Lean Development: Critical Factors for Accelerating Time to Va...Dave Healey
 
10 Hinweise für Architekten
10 Hinweise für Architekten10 Hinweise für Architekten
10 Hinweise für Architektenadesso AG
 
On the role of boundary spanners as a team coordination mechanism in organisa...
On the role of boundary spanners as a team coordination mechanism in organisa...On the role of boundary spanners as a team coordination mechanism in organisa...
On the role of boundary spanners as a team coordination mechanism in organisa...Anh Nguyen Duc
 
Agile Software Development in practice: Experience, Tips and Tools from the T...
Agile Software Development in practice: Experience, Tips and Tools from the T...Agile Software Development in practice: Experience, Tips and Tools from the T...
Agile Software Development in practice: Experience, Tips and Tools from the T...Valerie Puffet-Michel
 
Ten Advices for Architects
Ten Advices for ArchitectsTen Advices for Architects
Ten Advices for ArchitectsEberhard Wolff
 
DDD why_who - for CHTTI
DDD why_who - for CHTTIDDD why_who - for CHTTI
DDD why_who - for CHTTIMichael Chen
 
Global city services benchmarking v1
Global city services benchmarking v1Global city services benchmarking v1
Global city services benchmarking v1Markku Silen
 
Executing for Every Screen: Build, launch and sustain products for your custo...
Executing for Every Screen: Build, launch and sustain products for your custo...Executing for Every Screen: Build, launch and sustain products for your custo...
Executing for Every Screen: Build, launch and sustain products for your custo...Steven Hoober
 
User experience design strategies
User experience design strategiesUser experience design strategies
User experience design strategiesIsha Suri
 
Seven Principles of Cross-Continent, Distributed Development
Seven Principles of Cross-Continent, Distributed DevelopmentSeven Principles of Cross-Continent, Distributed Development
Seven Principles of Cross-Continent, Distributed DevelopmentTechWell
 
How to Overhaul Your Design Without Upsetting Your Users
How to Overhaul Your Design Without Upsetting Your Users How to Overhaul Your Design Without Upsetting Your Users
How to Overhaul Your Design Without Upsetting Your Users Mary Piontkowski
 
Getting Started with Architecture Decision Records
Getting Started with Architecture Decision RecordsGetting Started with Architecture Decision Records
Getting Started with Architecture Decision RecordsMichael Keeling
 
Step by-step methodology for creating digital workplaces
Step by-step methodology for creating digital workplaces Step by-step methodology for creating digital workplaces
Step by-step methodology for creating digital workplaces Brikit
 
Agile Dev and Lean UX
Agile Dev and Lean UXAgile Dev and Lean UX
Agile Dev and Lean UXKarri Ojanen
 

Similaire à Talk v71 (20)

User Experience Prototyping
User Experience PrototypingUser Experience Prototyping
User Experience Prototyping
 
Effective Prototyping Process for Software Creation
Effective Prototyping Process for Software CreationEffective Prototyping Process for Software Creation
Effective Prototyping Process for Software Creation
 
Agile and Secure
Agile and SecureAgile and Secure
Agile and Secure
 
SharePoint and Lean Development: Critical Factors for Accelerating Time to Va...
SharePoint and Lean Development: Critical Factors for Accelerating Time to Va...SharePoint and Lean Development: Critical Factors for Accelerating Time to Va...
SharePoint and Lean Development: Critical Factors for Accelerating Time to Va...
 
10 Hinweise für Architekten
10 Hinweise für Architekten10 Hinweise für Architekten
10 Hinweise für Architekten
 
On the role of boundary spanners as a team coordination mechanism in organisa...
On the role of boundary spanners as a team coordination mechanism in organisa...On the role of boundary spanners as a team coordination mechanism in organisa...
On the role of boundary spanners as a team coordination mechanism in organisa...
 
Agile Software Development in practice: Experience, Tips and Tools from the T...
Agile Software Development in practice: Experience, Tips and Tools from the T...Agile Software Development in practice: Experience, Tips and Tools from the T...
Agile Software Development in practice: Experience, Tips and Tools from the T...
 
Ten Advices for Architects
Ten Advices for ArchitectsTen Advices for Architects
Ten Advices for Architects
 
DDD why_who - for CHTTI
DDD why_who - for CHTTIDDD why_who - for CHTTI
DDD why_who - for CHTTI
 
Global city services benchmarking v1
Global city services benchmarking v1Global city services benchmarking v1
Global city services benchmarking v1
 
Executing for Every Screen: Build, launch and sustain products for your custo...
Executing for Every Screen: Build, launch and sustain products for your custo...Executing for Every Screen: Build, launch and sustain products for your custo...
Executing for Every Screen: Build, launch and sustain products for your custo...
 
JAD Guidelines
JAD GuidelinesJAD Guidelines
JAD Guidelines
 
User experience design strategies
User experience design strategiesUser experience design strategies
User experience design strategies
 
Seven Principles of Cross-Continent, Distributed Development
Seven Principles of Cross-Continent, Distributed DevelopmentSeven Principles of Cross-Continent, Distributed Development
Seven Principles of Cross-Continent, Distributed Development
 
User Centered Innovation
User Centered InnovationUser Centered Innovation
User Centered Innovation
 
How to Overhaul Your Design Without Upsetting Your Users
How to Overhaul Your Design Without Upsetting Your Users How to Overhaul Your Design Without Upsetting Your Users
How to Overhaul Your Design Without Upsetting Your Users
 
Getting Started with Architecture Decision Records
Getting Started with Architecture Decision RecordsGetting Started with Architecture Decision Records
Getting Started with Architecture Decision Records
 
Solr pattern
Solr patternSolr pattern
Solr pattern
 
Step by-step methodology for creating digital workplaces
Step by-step methodology for creating digital workplaces Step by-step methodology for creating digital workplaces
Step by-step methodology for creating digital workplaces
 
Agile Dev and Lean UX
Agile Dev and Lean UXAgile Dev and Lean UX
Agile Dev and Lean UX
 

Dernier

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Dernier (20)

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 

Talk v71

Notes de l'éditeur

  1. capitalization
  2. capitalization
  3. Put AK on the slide AK=D+D
  4. Reference to the architecture definitionRethink division between architecture and AK
  5. Reference to the architecture definitionRethink division between architecture and AK
  6. Proof colorsHypothesis: better decisions lead to better design output
  7. You cannot even build a house out of that
  8. Concerns and context get into the analysisAnalysis produces requirements for synthesis and evaluationSynthesis produces architecture candidates which need to undergo evaluation
  9. Make more slides on those
  10. Make more slides on those
  11. Motivate collaboration by saying that it should improve quality
  12. Make a figure out of that and pin-point interesting scenario
  13. Last but not least
  14. Make some nice SS of SAW
  15. Work on warehouse paradigm and think where actual action happens
  16. State the purpose – motivateName ADD modelsHighlight on the data input. Make it fairly fast here. Make explicit three parts – persistence, metrics and co.
  17. Make a figure without decisions
  18. Make single alternative active
  19. Drop decision symbols
  20. Do not use static referencing structure
  21. Make example of the unknown much simplier by adding it to the small exampleRemove the big space
  22. More horizontal SS of visualization
  23. Emphasize interactivityShow SS of simple knowledge model which I have introduced earlier
  24. Remove capitalization
  25. Emphasize outcomes of the evaluationExpress industrial interest, time dependence…
  26. Four slides to represent the content
  27. Four slides to represent the content