an empirical study on collaborative architecture decision making in software teams - ecsa 2016

15
AN EMPIRICAL STUDY ON COLLABORATIVE ARCHITECTURE DECISION MAKING IN SOFTWARE TEAMS Sandun Dasanayake , Jouni Markkula, Sanja Aaramaa, Markku Oivo M3S – Empirical Software Engineering Research Group, university of Oulu, Finland

Upload: sandun-dasanayake

Post on 12-Apr-2017

29 views

Category:

Software


0 download

TRANSCRIPT

Page 1: An Empirical Study on Collaborative Architecture Decision Making in Software Teams - ECSA 2016

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

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

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

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

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

ARCH. DECISION MAKING – COMPANY LEVEL

Page 7: An Empirical Study on Collaborative Architecture Decision Making in Software Teams - ECSA 2016

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

DECISION MAKING – TEAM LEVEL (2/2)

Page 9: An Empirical Study on Collaborative Architecture Decision Making in Software Teams - ECSA 2016

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

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

“… 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

“… 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

“… 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

“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

dasanayake.com - @sandundasa