You are on page 1of 14

Software Architecture

Decision-Making Practices
and Challenges: An
Industrial Case Study
Sandun Dasanayake, Jouni Markkula, Sanja Aaramaa,
Markku Oivo
M-Group, University of Oulu
29.09.2015

Contents

Case Study in Brief


Research Questions
Results
Discussion
Conclusions
Future work

Case Study in Brief


Supported by MERgE Project
http://www.merge-project.eu

Conducted in 3 SMEs in Europe


Similar size
Focused on different business areas

Interviewed 10 practitioners involved in


SW architecture decision making
Titles - SW Engineers to Product Leads
Experience - 2 to 24 years

Research Questions
RQ1: How do the software architects
make architecture decisions?
RQ2: What are the reasons for using the
current architecture decision-making
approach?
RQ3: What challenges are associated
with current architecture decision-making
approach?
RQ4: Which areas can be improved in
order to make better architecture

Team Level Decision Making (RQ 1)


Not formal, but structured
All the team members are involved
Mostly consensus - Architect takes the
final decision
3 main approaches to come up with a
decision

Using a predefined criteria

By analyzing pros
Selecting first
and cons
satisfactory choice

Individual Decision Making (RQ 1)


Experien
ce
Prototypi
ng

Intuition

External
experts

Reuse

Methods

Why Use Current Practices? (RQ2)

Challenges of Current Approach


(RQ3)
Missing a better solution
Revisiting design rationale
Integrating new members
Improper documentation
Issues with customer communication
Knowledge gap between the engineers
Finding necessary resources
Lack of proper tools

Improvement Opportunities (RQ4)


Lightweight technique or tool to guide
Improved documentation
Efficient information sharing
Keeping track of design decisions and
rationale
Making decision-making agiler

Discussion (1/2)
Team level decision-making methods resembles
existing decision-making techniques.
Using a pre-defined criteria : Quality-Drive Decision Support
Method
By analyzing pros and cons: The Cost Benefit Analysis
Method
Selecting the first satisfactory choice : Recognition Primed
Decision Model

Majority of the identified challenges can be


addressed by following activities that improve
architecture knowledge management
[1] M. Svahnberg, C. Wohlin, L. Lundberg, and M. Mattsson, "A quality- driven decision-support method for identifying software architecture candidates," International Journal of Software
Engineering and Knowledge Engineering, vol. 13, no. 5, pp. 547573, 2003
[2] R. Kazman, J. Asundi, and M. Klein, "Quantifying the costs and benefits of architectural decisions," in Proceedings of the 23rd International Conference on Software Engineering, 2001, pp.
297306.
[3] G. Klein and D. Klinger, "Naturalistic decision making," Gateway, vol. 2, no. 1, pp. 1619, 1991.

Discussion (2/2)
Identified KM activities mapped in to SECI
model
Tacit
to
Explicit
Explicit
from
Tacit

Pair design
Design reviews
Swapping tasks
Customer
interactions
Informal
Prototyping
discussions

Meetings
Brainstorming
Retrospectives

Design
documents
Wiki/ intranet
Internal doc
servers

[4] I. Nonaka and H. Takeuchi, The Knowledge-Creating Company, 1st ed. Oxford University Press, 1995.

Conclusions
Team decision-making informal but
structured
Individual decision-making heavily
Researcher
based on personal characteristics
Several challenges are recognized
Regardless, practitioners satisfied
Knowledge Management
is recognized as a key
improvement area
Software

Future Work
A similar study is already been
conducted in a large enterprise
Investigate possible solutions to
overcome identified challenges

THANK YOU!
More information:
sandun.dasanayake@oulu.fi

You might also like