systematic architectural decisions management
TRANSCRIPT
Systematic Architectural Decisions
Management
A Process-based Approach
Ana Dragomir
Horst Lichter
Tiberiu Marian Budau
WICSA 2014, Sydney
07.04.2014
Introduction
More than just design!
Software Architecture = {Elements, Form, Rationale}
Rationale is usually embodied in architecture decisions (ADs)
ADs should be explicit and documented for future reference
Became a reality in the industry also!
Motivation
Our industry cooperation partner documents ADs
Benefits are company-wide acknowledged
But…improvements were necessary
Are ADs well communicated? Are ADs easily retrievable?
Is our decision process good enough?
How does an external observerperceive it?
How good are we,
compared to the state of the art?
How can we improve?
Goals
Analyze the current decision making process
Identify improvement potentials
Propose an enhanced concept for decision making
Analysis
Analyze the current decision making process
Initial meeting
Analysis of ADs repositories of two large projects (45000 and 9000 IT person days)
12 follow-up discussions (semi-structured)
Identify improvement potentials
Propose an enhanced concept for decision making
Current Process
possibly ask others
Well established template:
• Title
• Problem description
• Identified alternatives
• Prioritized criteria
• Quantification
• Chosen alternative
• Invoked stakeholders
• Derived requirements
• Related decisions, etc.
• Several mediums
• Many inconsistencies
Remarks
The “nature” of the ADs was different then expected
<10% contained component diagrams or lines and boxes
Inter-decision relations are almost never documented
When asked if useful, the architects were reluctant
“Implies” received the most acknowledgement
The industry is behind the state of the art
Alternatives not only identified, but also semi-subjectively quantified
However…much documented knowledge, little reuse
Many inconsistencies (even within the same project)
Rudimentary process
Goals
Analyze the current decision making process
Identify improvement potentials
Propose an enhanced concept for decision making
Improvement Potentials
ADs should be …
documented in a central location documented based on an enforced model
easily retrievable “search all decisions of the PROJECT PRJ11 that affect the COMPONENT
CRM and violate the COMPANY-GUIDELINE CG10”
easy to be communicated Push mechanisms Subscribe mechanisms – “notify me when decisions in the context of
PROJECT PRJ11 are made”
learned from Active/passive feedback
Goals
Analyze the current decision making process
Identify improvement potentials
Propose an enhanced concept for decision making
Conclusions
Analysis of the current state of the practice
The situation is much better than expected but…
Improvement potentials were found
A process-oriented approach to boost informal learning was proposed
Future work
Capitalize on existing informal learning techniques
Develop metrics and dashboards to aid in the AD management process.
Tool support