An Empirical Study on Collaborative Architecture Decision Making in Software Teams - ECSA 2016
-
Upload
sandun-dasanayake -
Category
Software
-
view
30 -
download
0
Transcript of An Empirical Study on Collaborative Architecture Decision Making in Software Teams - ECSA 2016
![Page 1: An Empirical Study on Collaborative Architecture Decision Making in Software Teams - ECSA 2016](https://reader035.fdocuments.us/reader035/viewer/2022062523/58edea531a28abba378b462d/html5/thumbnails/1.jpg)
AN EMPIRICAL STUDY ON COLLABORATIVE ARCHITECTURE DECISION
MAKING IN SOFTWARE TEAMS
Sandun Dasanayake, Jouni Markkula, Sanja Aaramaa, Markku OivoM3S – Empirical Software Engineering Research Group, university of Oulu, Finland
![Page 2: An Empirical Study on Collaborative Architecture Decision Making in Software Teams - ECSA 2016](https://reader035.fdocuments.us/reader035/viewer/2022062523/58edea531a28abba378b462d/html5/thumbnails/2.jpg)
MOTIVATION
• Rapid changes in SW development– Lean and agile principles–Global software development teams– Startup culture
• Need of more empirical studies• Use knowledge from other areas
![Page 3: An Empirical Study on Collaborative Architecture Decision Making in Software Teams - ECSA 2016](https://reader035.fdocuments.us/reader035/viewer/2022062523/58edea531a28abba378b462d/html5/thumbnails/3.jpg)
RESEARCH QUESTIONS
• RQ1. How do software teams make architecture decisions?
• RQ2. What are the challenges in architecture decision making in software teams?
![Page 4: An Empirical Study on Collaborative Architecture Decision Making in Software Teams - ECSA 2016](https://reader035.fdocuments.us/reader035/viewer/2022062523/58edea531a28abba378b462d/html5/thumbnails/4.jpg)
THE CASE
The case company provides software products and services to the consumer market, enterprise customers and third-party service providers. The company has around 1000 employees and has been in the business for several decades. It operates in a dynamic business domain, and its business history shows that it is keen on embracing new technologies.
![Page 5: An Empirical Study on Collaborative Architecture Decision Making in Software Teams - ECSA 2016](https://reader035.fdocuments.us/reader035/viewer/2022062523/58edea531a28abba378b462d/html5/thumbnails/5.jpg)
DATA COLLECTION• 15 interviewees• Act as architects in their teams• Belong to 5 different units• Team size: 4 – 8• Distributed in 3 sites• Each interview 1.5 hours
![Page 6: An Empirical Study on Collaborative Architecture Decision Making in Software Teams - ECSA 2016](https://reader035.fdocuments.us/reader035/viewer/2022062523/58edea531a28abba378b462d/html5/thumbnails/6.jpg)
ARCH. DECISION MAKING – COMPANY LEVEL
![Page 7: An Empirical Study on Collaborative Architecture Decision Making in Software Teams - ECSA 2016](https://reader035.fdocuments.us/reader035/viewer/2022062523/58edea531a28abba378b462d/html5/thumbnails/7.jpg)
DECISION MAKING – TEAM LEVEL (1/2)
Decision Style Decision Maker Solution Origin Participation
SW Team Architect
Authoritative Architect Architect Passive Active
Persuasive Architect Architect Active Active
Consultative Architect Shared Active Active
Consensus Shared Shared Active Active
Delegative SW Team SW Team Active Passive
![Page 8: An Empirical Study on Collaborative Architecture Decision Making in Software Teams - ECSA 2016](https://reader035.fdocuments.us/reader035/viewer/2022062523/58edea531a28abba378b462d/html5/thumbnails/8.jpg)
DECISION MAKING – TEAM LEVEL (2/2)
![Page 9: An Empirical Study on Collaborative Architecture Decision Making in Software Teams - ECSA 2016](https://reader035.fdocuments.us/reader035/viewer/2022062523/58edea531a28abba378b462d/html5/thumbnails/9.jpg)
KEY TAKEAWAYS
• There is no “one type fits all”• Teams prefers to reach consensus, but have to avoid
deadlocks• Consultative decision making balances both aspects• It also provides decision ownership / responsibility• Majority view architecture steering groups as useful, but
their view on technology unit is negative
![Page 10: An Empirical Study on Collaborative Architecture Decision Making in Software Teams - ECSA 2016](https://reader035.fdocuments.us/reader035/viewer/2022062523/58edea531a28abba378b462d/html5/thumbnails/10.jpg)
CHALLENGESCategory Challenge Impact on Architecture DMOrganisational Inter team dependencies Increased complexity Change of personnel Loss of architecture knowledge Imposed technical constraints Limit potential solutions Globally distributed teams Lack of involvement Lack of a common tool chain Difficult to collaborateProcess Inadequate preparation time Low quality decisions Dynamic requirements Short term decisions Requirement ambiguity Unclear decision goals Improper documentation Missing design rationaleHuman Clash of personalities Lengthy decision sessions / deadlocks Passive participation Limited view points
![Page 11: An Empirical Study on Collaborative Architecture Decision Making in Software Teams - ECSA 2016](https://reader035.fdocuments.us/reader035/viewer/2022062523/58edea531a28abba378b462d/html5/thumbnails/11.jpg)
“… we have been doing these architecture decisions in several different ways in the past. We used to have this really strict architect guy who was just writing specifications and not actually doing anything …”
ROLE OF THE ARCHITECT
![Page 12: An Empirical Study on Collaborative Architecture Decision Making in Software Teams - ECSA 2016](https://reader035.fdocuments.us/reader035/viewer/2022062523/58edea531a28abba378b462d/html5/thumbnails/12.jpg)
“… but our company moved away from that direction quite a long time. So we have been intentionally trying to break the architect idea ...”
![Page 13: An Empirical Study on Collaborative Architecture Decision Making in Software Teams - ECSA 2016](https://reader035.fdocuments.us/reader035/viewer/2022062523/58edea531a28abba378b462d/html5/thumbnails/13.jpg)
“… Then, about a year ago we slightly reversed on that decision. We’re again moving towards the direction where there are architects because someone then realized that hey, somebody still has to decide stuff …”
![Page 14: An Empirical Study on Collaborative Architecture Decision Making in Software Teams - ECSA 2016](https://reader035.fdocuments.us/reader035/viewer/2022062523/58edea531a28abba378b462d/html5/thumbnails/14.jpg)
“But I don’t think it’s kind of the same kind of hard architect position as it was before, it’s more like a soft thing where they are kind of supposed to be more mediators where they don’t really decide, they just facilitate other people deciding”
![Page 15: An Empirical Study on Collaborative Architecture Decision Making in Software Teams - ECSA 2016](https://reader035.fdocuments.us/reader035/viewer/2022062523/58edea531a28abba378b462d/html5/thumbnails/15.jpg)
dasanayake.com - @sandundasa