SlideShare a Scribd company logo
1 of 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

More Related Content

Similar to 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
 

Similar to 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
 

Recently uploaded

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

Talk v71

Editor's Notes

  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