View
286
Download
1
Category
Preview:
Citation preview
Sandun Dasanayake, Jouni Markkula, Sanja Aaramaa, Markku OivoM-Group, University of Oulu29.09.2015
Software Architecture Decision-Making Practices and Challenges: An Industrial Case Study
24th Australasian Software Engineering Conference – ASWEC’15
Preprint of the Article: http://goo.gl/7Ay6nE
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– Each semi-structured Interview last 1.5h – 2h
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 decisions?
Team Level Decision Making (RQ 1)
• Not formal, but structured• All the team members are involved• Mostly consensus – If not, architect takes the final
decision• 3 main approaches to come up with a decision
Using a pre-defined criteria
By analyzing pros and cons
Selecting first satisfactory choice
Individual Decision Making (RQ 1)
Experience
Intuition
Reuse
Methods
External experts
Prototyping
Challenges of Current Approach (RQ3)
• Missing a (possibly) 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. 547–573, 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. 297–306. [3] G. Klein and D. Klinger, "Naturalistic decision making," Gateway, vol. 2, no. 1, pp. 16–19, 1991.
Discussion (2/2)Identified KM activities mapped in to SECI model
[4] I. Nonaka and H. Takeuchi, The Knowledge-Creating Company, 1st ed. Oxford University Press, 1995.
E
xplic
it
from
Taci
t
Tacit to Explicit
Pair designDesign reviewsSwapping tasksCustomer interactionsInformal discussions
MeetingsBrainstormingRetrospectives
Prototyping Design documentsWiki/ intranetInternal doc servers
Conclusions• Team decision-making – informal but structured• Individual decision-making – heavily based on
personal characteristics• Several challenges are recognized Regardless, practitioners satisfied• Knowledge Management is recognized as a key improvement area
Researcher
Software Practitioners
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
Recommended