Sandun Dasanayake, Jouni Markkula, Sanja Aaramaa, Markku Oivo
M-Group, University of Oulu
29.09.2015
SoftwareArchitecture
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
Why Use Current Practices? (RQ2)
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.
ExplicitfromTacit
Tacit to Explicit
Pair design
Design reviews
Swapping tasks
Customer interactions
Informal discussions
Meetings
Brainstorming
Retrospectives
Prototyping Design documents
Wiki/ intranet
Internal 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

Software Architecture Decision-Making Practices and Challenges: An Industrial Case Study

  • 1.
    Sandun Dasanayake, JouniMarkkula, Sanja Aaramaa, Markku Oivo M-Group, University of Oulu 29.09.2015 SoftwareArchitecture Decision-Making Practices and Challenges:An Industrial Case Study 24th Australasian Software Engineering Conference – ASWEC’15 Preprint of the Article: http://goo.gl/7Ay6nE
  • 2.
    Contents • Case Studyin Brief • Research Questions • Results • Discussion • Conclusions • Future work
  • 3.
    Case Study inBrief • 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
  • 4.
    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?
  • 5.
    Team Level DecisionMaking (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
  • 6.
    Individual Decision Making(RQ 1) Experience Intuition Reuse Methods External experts Prototyping
  • 7.
    Why Use CurrentPractices? (RQ2)
  • 8.
    Challenges of CurrentApproach (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
  • 9.
    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
  • 10.
    Discussion (1/2) • Teamlevel 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.
  • 11.
    Discussion (2/2) Identified KMactivities mapped in to SECI model [4] I. Nonaka and H. Takeuchi, The Knowledge-Creating Company, 1st ed. Oxford University Press, 1995. ExplicitfromTacit Tacit to Explicit Pair design Design reviews Swapping tasks Customer interactions Informal discussions Meetings Brainstorming Retrospectives Prototyping Design documents Wiki/ intranet Internal doc servers
  • 12.
    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
  • 13.
    Future Work • Asimilar study is already been conducted in a large enterprise • Investigate possible solutions to overcome identified challenges
  • 14.

Editor's Notes

  • #2 Introduce. Research team.
  • #3 Good afte
  • #4  ----- Meeting Notes (07/09/2015 14:03) ----- Objective, Table of contents End: What you told, MERgE
  • #5  ----- Meeting Notes (07/09/2015 14:03) ----- Objective, Table of contents End: What you told, MERgE
  • #7 Add weight
  • #8  ----- Meeting Notes (07/09/2015 14:03) ----- Two slides, Where did they come from ?