SlideShare a Scribd company logo
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 Prototyping
Alan Ho
 
Effective Prototyping Process for Software Creation
Effective Prototyping Process for Software CreationEffective Prototyping Process for Software Creation
Effective Prototyping Process for Software Creation
Jonathan Arnowitz
 
Agile and Secure
Agile and SecureAgile and Secure
Agile and Secure
Denim 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 Architekten
adesso 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 Architects
Eberhard Wolff
 
DDD why_who - for CHTTI
DDD why_who - for CHTTIDDD why_who - for CHTTI
DDD why_who - for CHTTI
Michael Chen
 
Global city services benchmarking v1
Global city services benchmarking v1Global city services benchmarking v1
Global city services benchmarking v1
Markku 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
 
JAD Guidelines
JAD GuidelinesJAD Guidelines
JAD Guidelines
Marina Serdyukova
 
User experience design strategies
User experience design strategiesUser experience design strategies
User experience design strategies
Isha 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 Development
TechWell
 
User Centered Innovation
User Centered InnovationUser Centered Innovation
User Centered Innovation
Mourylise Heymer
 
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 Records
Michael Keeling
 
Solr pattern
Solr patternSolr 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
Brikit
 
Agile Dev and Lean UX
Agile Dev and Lean UXAgile Dev and Lean UX
Agile Dev and Lean UX
Karri 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

Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 

Recently uploaded (20)

Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 

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