Collaborative software architecture decisions: structure and dynamics

TitleCollaborative software architecture decisions: structure and dynamics
Publication TypePhDThesis
Year of Publication2014
AuthorsNowak, M.
Academic DepartmentUSI Faculty of Informatics
CityLugano, Switzerland

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.

Citation Keyphd:2014:marcin.nowak
Full Text