Collaborative Software Architecture Decisions: Structure and Dynamics Marcin Aleksander Nowak Architecture Design and Web Information Systems Engineering Group Dissertation Committee Prof. Dr. Mehdi Jazayeri Prof. Dr. Michele Lanza Prof. Dr. Patricia Lago Prof. Dr. Olaf Zimmermann Under supervision of Prof. Dr. Cesare Pautasso
116
Embed
Collaborative software architecture decisions: structure and dynamics
The complexity of modern computer systems is often comparable with the one of biological systems. As much as this complexity can be effectively hidden from the end-user, it is inherently absorbed in the design of the system. Software Architecture is an effective design abstraction that allows designers to divide and conquer the complexity. A modern way of looking at the Software Architecture is to see it as a set of principal design decisions. The design of Software Architecture for large and complex systems often requires expertise exceeding what can be delivered by the individual software architect, therefore successful design relies on effective collaborative decision making within the design team of diverse domain experts.
We tackle the problem of collaborative decision making in the software architecture design teams by proposing the decision argumentation viewpoint extension to the architecture description standard. Its main purpose is to support fine-granular decision argumentation modeling. Within the viewpoint we devise the architecture decision consensus lifecycle, and design issue choice state machine that enable precise characterization of the decision state.
Based on the argumentation viewpoint we define an analytical framework designed to estimate the structural and temporal characteristics of decision models. The framework comprises fifteen metrics and offers a comprehensive introspection into the state and dynamics of the decision making process.
Building upon this foundation we designed and implemented the Software Architecture Warehouse (SAW) - the tool to assist software architects in collaborative decision/making during the architecture design workshops. SAW features low-latency, structured architecture decision capturing and decision consensus management.
Furthermore, the Software Architecture Warehouse is accompanied by the implementation of the aforementioned decision argumentation metrics framework. Finally, we evaluate the framework by applying it on the decision spaces recorded during the masters course on Software Architecture and Design. We conclude with an interpretation of differences observed between the workshops assisted with the use of the Software Architecture Warehouse and those supported by EtherPad, an alternative unstructured collaborative editor. Category
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
How to support collaborative software architectural decision making?
Q:
33
Research Problem #2
Quality of the Collaborative Architecture Decisions
How to identify, and quantify properties of good, collaborative design decision making process?
Q:
34
Thesis
Support for the low latency, structured architecture decision argumentation
improves the quality of the decision making process.
35
Approach
Theoretical Practical Evaluation
RQ1
Argumentation Viewpoint SAW Formative
Evaluation
RQ2Argumentation
Metrics Analyzer EmpiricalEvaluation
36
DECISION ARGUMENTATION VIEWPOINT
4+1 Architecture Views
37
Software Architecture
Logical
Process
Development
Physical
P.B. Kruchten. The 4+1 view model of architecture. Software, IEEE, 12(6):42–50, Nov 1995
Scenarios
Decision Viewpoints
39
Architecture Decision
Relationships
Involvement
Chronology
Force
Uwe van Heesch, Paris Avgeriou, and Rich Hilliard. A documentation framework for architecture decisions. Journal of Systems and Software 2012.
Decision Viewpoints
40
Architecture Decision
Relationships
Involvement
Chronology
Force
Argumentation
Marcin Nowak and Cesare Pautasso. Team situational awareness and architectural decision making with the software architecture warehouse. In volume 7957 of Lecture Notes in Computer Science, pages 146–161. Springer, 2013.
• Higher yield of significant decision items in SAW
131
HOW DEMOCRATIC ARE THE DECISIONS?
How democratic are the decisions?
132
• Number of issues (M1)
• Number of alternatives (M2)
• Activity time (M6)
• Position count (M7)
Number of contributors
133
Metric 3: Relative number of contributorsDomain: Issue, Alternative Scale: Ratio Range: %
Number of contributors
134
Metric 3: Relative number of contributorsDomain: Issue, Alternative Scale: Ratio Range: %
• Dominantly individual contributions
• Long tail distribution of contributions in SAW
Number of decision makers
137
Metric 4: Relative number of decision makersDomain: Decision Scale: Ratio Range: %
Number of decision makers
138
Metric 4: Relative number of decision makersDomain: Decision Scale: Ratio Range: %
Number of decision makers
139
Metric 4: Relative number of decision makersDomain: Decision Scale: Ratio Range: %
• Divergent decision process
• Long tail distribution for SAW
• Choice is more inclusive in SAW
Number of decision makers
140
Metric 4: Relative number of decision makersDomain: Decision Scale: Ratio Range: %
Number of decision makers
141
Metric 4: Relative number of decision makersDomain: Decision Scale: Ratio Range: %
Number of decision makers
142
Metric 4: Relative number of decision makersDomain: Decision Scale: Ratio Range: %
• Disagreement in groups of two and three
• Herd behavior
Activity timespan cut-off
143Metric 5: Activity timespanDomain: Issue, Decision Scale: Ratio Range: [0,N]
• Higher participation in significant decision items in SAW
Summary
145
Application of decision argumentation metrics to
empirical data
Comparative evaluation of the Software Architecture
Warehouse and the EtherPadSAW vs. EP
Threats to validity
146
• Internal validity– Parallel execution of the design workshops– Skillset of subjects balanced between the groups
• Construct validity– Provided by the interpretation model
• External validity– Limited to the naïve architecting mode– “Students are not different from professionals”, but
“some professionals behave VERY different from all other professionals and all students” *
* Hans van Vliet “Architecting as Decision Making” Keynote for ECSA 2014
148
IN CONCLUSION
149
Conclusion
Support for the low latency, structured architecture decision argumentation does have impact
on the quality of decision making process.
Even if our comparative evaluation in the classroom did not produce statistically significant results, it
proved the concept of decision analytics
Main Contributions
150
Design Issue
Design Alternative
Design Alternative
Design Alternative
Design Decision
Design Decision
Design Decision
Position: Positive
Position: Positive
Position: Positive
Position: Negative
Position: Negative
Architecture ArgumentationViewpoint
Decision Argumentation Metrics
Software Architecture Warehouse
Acknowledgments
151
• Evgenii Riabokon is a Masters graduate form University of Lugano. He developed Java-Script front-end module for interactive, side-by-side comparisons for project/issue/decision properties
• Masiar Babazadeh is a PhD student at University of Lugano. Contributed JavaScript and HTML5 knowledge visualization component during UROP project in the summer break 2010.
• Mark Pruneri is a Bachelor graduate from University of Lugano. Has actively developed 2nd generation prototype of SAW, contributing high quality HTML5/CSS and some Ruby On Rails coding to the Dynamic Types Management.
• Alessandro Trombini is a Bachelor graduate from University of Lugano. He developed high quality HTML + CSS user interface design for 2nd generation of SAW prototype during Software Atelier 3 course.
• Adnan Al Hariri as a Bachelor graduate from University of Lugano has developed parts of Dynamic Type Management system and foundations of collaborative content editing for 2nd generation of SAW prototype during Software Atelier 3 course.
Publication list
152
• "Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse”, Marcin Nowak, Cesare Pautasso, Presented at: European Conference on Software Architecture (ECSA) 2013
• "The Design Space of Modern HTML5/JavaScript Web Applications", Marcin Nowak, Cesare Pautasso, Presented at: SATURN 2013
• "Software Architecture Warehouse: live and collaborative architectural decision making", Marcin Nowak, Cesare Pautasso, Presented in the tool demonstrations track of Working Conference on Software Architecture 2012
• "Reusable Decision Space for Mashup Tool Design”Saeed Aghaee, Marcin Nowak, Cesare Pautasso, Proceedings The fourth ACM SIGCHI Symposium on Engineering Interactive Computing Systems
• "Goals, Questions and Metrics for Architectural Decision Models”Marcin Nowak, Cesare Pautasso . In Proceedings of the Workshop on Sharing and Reusing Architectural Knowledge SHARK'11
• "Architectural Decision Modeling with Reuse: Challenges and Opportunities". Marcin Nowak, Cesare Pautasso, In Proceedings of the Workshop on Sharing and Reusing Architectural Knowledge SHARK'10