+ All Categories
Home > Documents > (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk:...

(En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk:...

Date post: 04-Jun-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
38
Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying social debt guy)
Transcript
Page 1: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

Politecnico di Milano

(En)Light(e)ning Talk: From Technical to Social Debt and Back Again…

Damian A. Tamburri (That annoying social debt guy)

Page 2: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

Today’s Talk!

- 2 -

  Research Interests:   Software Architectures   Big Data   Social Software Engineering (Social Debt)   DevOps

  Personal Research Goals:   Find effective software engineering approaches for sustainable social development commons for the digital era

  Personal Research Methods:   Empirical Software Engineering*

*Mostly Qualitative: Case-Study Research, Ethnography, Action Research, Surveys, etc.

Page 3: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

B.Sc. Formal Languages and Methods for Software Analysis, Design and Testing

Junior Sw. Eng. Architecture Recovery and Roundtrip Engineering

My Wheel of Life (Thanks Stephen!)

Page 4: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

Design&SwArch - 4 -

Mission Accomplished!

Page 5: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

Design&SwArch - 5 -

B.Sc. Formal Languages and Methods for Software Analysis, Design and Testing

Junior Sw. Eng. Architecture Recovery and Roundtrip Engineering

M.Sc. Formal Software Architecture Representation and Reasoning

M.Sc. Global Software Engineering

Ph.D. Information Mgmt. & Software Engineering

Post-Doc Fellowship Advanced Software Architectures

Page 6: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

Let’s start from the basics

  Organizations and Social-Networks Research   “the examination of how individuals construct:

  Organizational structure (a graph)   Processes (a sequence of actions)   Practices (good ways to perform those actions)   and how these shape

–  social relations (strongly-typed interactions needed for actions) –  institutions (stable, recurrent pattern of behavior) –  Influence (affecting the actions across the graph)” [6]

Page 7: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

Dev. 1

Dev. 4

Dev. 2

Dev. 3 Dev. N-1

Dev. N

Social Relations (Between People) in the Structure yield zillions of interesting properties of the structure*: -  Average Cognitive Distance -  Strength of ties -  Negative ties -  Reciprocity -  ….

Social and Organizational structures around Software… Anything interesting?

7

Dev. Interactions

Page 8: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

Dev. 1

Dev. 4

Dev. 2

Dev. 3 Dev. N-1

Dev. N

Organizational and Socio-Technical Relations (between Artifacts and People) in the Structure yield properties of the structure: -  Health -  Type -  Access Privilege -  Reputation -  Work Frequency -  Org. Problems -  ….

Art. 2 Art. 3 Art. 1

Art. 4

Art. N

Social and Organizational structures around Software… Anything interesting?

8

Task Allocations

Page 9: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

Dev. 1

Dev. 4

Dev. 2

Dev. 3 Dev. N-1

Dev. N

Art. 2 Art. 3 Art. 1

Art. 4

Art. N

Social and Organizational structures around Software… DevOps!

9

Task Allocations

Ops. 1

Ops. 2

Ops. 3 Ops. 4

Page 10: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

Social and Organizational structures around Software… Where the hell are they?

- 10 -

1.  Mine data from task databases 2.  Build a social network

For Example... Eclipse MyLyn a.  Spring Task DB b.  SpringSource Task DB c.   Eclipse Bugzilla d.  ...

1.  Mine data from task databases (JIRA, BugZilla, etc.) 2.  Build a social network

Page 11: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

You add some SNA and you get something like this...

- 11 -

Behold… MyLyn!!!!

Page 12: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

Now… back to the basics

  Social Capital:

“Social capital is a form of economic and cultural capital in which social networks and structures are central, transactions are marked by reciprocity, trust, and blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah

blah blah blah blah blah blah blah …” [5]* Layman’s Terms: The positive value of the organizational network for a corporation

Page 13: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

Social Capital in Software Engineering

13

Dev. 1

Dev. 4

Dev. 2

Dev. 3 Dev. N-1

Dev. N

Art. 2 Art. 3 Art. 1

Art. 4

Art. N Task Allocations

Dev. 4 Ops. 1

Ops. 2

Ops. 3 Ops. 4

Page 14: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

Now… back to the basics   Ledger:

“A ledger[1] is the principal book or computer file for recording and totaling out the economic transactions measured with a monetary unit of account, by account type, with debits and credits in separate columns and a beginning monetary balance and ending monetary balance for each account.”

Page 15: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

Now… back to the basics   Social Ledger!

“[…] the recent interest in social capital has neglected the possibility that social networks may contain negative ties and characteristics, and that attention to these […] provides insights into understanding relationships and social networks in organizations.” [3,1,2,4]*

* Impact Factor of [1,2,3,4] = 9,83 (AMR);

Layman’s Terms: The positive and negative value of the organizational network for a corporation

Page 16: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

Now… back in our backyard... What is Social Debt?

  Social debt “the cumulative and increasing cost of the

undesirable, implicit characteristics in the software development and operations organisational structure […] connected to sub-optimal socio-technical decisions” [8,9]*

Design&SwArch - 16 -

Page 17: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

Dev. 1

Dev. 4

Dev. 2

Art. 2 Art. 3 Art. 1

Social Debt in Software Engineering

17

Ops. 2

Ops. 3 Ops. 4

Dev. 3 …

Page 18: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

Social debt by analogy

  “Unforeseen project cost connected to a sub-optimal organizational and social structures”

  To make an even deeper analogy: “ - not quite right a development community - which we postpone, refuse or refrain from making it right”

[Ward Cunningham revisited- 2011]

18

Page 19: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

Example?

- 19 -

Comm. 3: IC

Comm. 2: FN

Comm. 1: NoP

Page 20: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

Yet another example… SNA to measure boundary-spanning

- 20 -

Comm. 3

Comm. 1

Page 21: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

Yet another example… SNA to measure boundary-spanning

- 21 -

Comm. 3

Comm. 1

Page 22: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

A Real-Life Organizational & Social Structure

Design&SwArch - 22 -

Integration Layer

Arch. 1Arch. 2

Dev. 3Dev. 4

Dev.2

Ops. 2Ops. 1

Arch. 3

Int. 2

Int. 1

Dev. 5

Man.1

Dev.1

Architecting Layer

Development Layer

Operations Layer

Lonesome Architecting:architecting layer is distant

and relatively silent

Architecting by Osmosis:change requests cross

every possible layerlosing info every step of the way

org.soc. relations

social debt pattern

LEGENDA

Person

NewComer

Subgroup

Architecture Change Request

Page 23: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

A Real-Life Organizational & Social Structure

Design&SwArch - 23 -

Integration Layer

Arch. 1Arch. 2

Dev. 3Dev. 4

Dev.2

Ops. 2Ops. 1

Arch. 3

Int. 2

Int. 1

Dev. 5

Man.1

Dev.1

Architecting Layer

Development Layer

Operations Layer

Lonesome Architecting:architecting layer is distant

and relatively silent

Architecting by Osmosis:change requests cross

every possible layerlosing info every step of the way

org.soc. relations

social debt pattern

LEGENDA

Person

NewComer

Subgroup

Architecture Change Request

“Client opens several customer-service tickets on same topic… feature issue”

Page 24: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

A Real-Life Organizational & Social Structure

Design&SwArch - 24 -

Integration Layer

Arch. 1Arch. 2

Dev. 3Dev. 4

Dev.2

Ops. 2Ops. 1

Arch. 3

Int. 2

Int. 1

Dev. 5

Man.1

Dev.1

Architecting Layer

Development Layer

Operations Layer

Lonesome Architecting:architecting layer is distant

and relatively silent

Architecting by Osmosis:change requests cross

every possible layerlosing info every step of the way

org.soc. relations

social debt pattern

LEGENDA

Person

NewComer

Subgroup

Architecture Change Request

“Operators elicit customer requests… - reason on solving the issue; - getting some code going to patch the issue;”

Page 25: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

A Real-Life Organizational & Social Structure

Design&SwArch - 25 -

Integration Layer

Arch. 1Arch. 2

Dev. 3Dev. 4

Dev.2

Ops. 2Ops. 1

Arch. 3

Int. 2

Int. 1

Dev. 5

Man.1

Dev.1

Architecting Layer

Development Layer

Operations Layer

Lonesome Architecting:architecting layer is distant

and relatively silent

Architecting by Osmosis:change requests cross

every possible layerlosing info every step of the way

org.soc. relations

social debt pattern

LEGENDA

Person

NewComer

Subgroup

Architecture Change Request

“Operators open development task / ticket… Developers alert architects (feature-change request module) and start patching themselves”

Page 26: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

A Real-Life Organizational & Social Structure

Design&SwArch - 26 -

Integration Layer

Arch. 1Arch. 2

Dev. 3Dev. 4

Dev.2

Ops. 2Ops. 1

Arch. 3

Int. 2

Int. 1

Dev. 5

Man.1

Dev.1

Architecting Layer

Development Layer

Operations Layer

Lonesome Architecting:architecting layer is distant

and relatively silent

Architecting by Osmosis:change requests cross

every possible layerlosing info every step of the way

org.soc. relations

social debt pattern

LEGENDA

Person

NewComer

Subgroup

Architecture Change Request

“operators refactoring à development refactoring à architecture refactoring”

Page 27: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

A Real-Life Organizational & Social Structure

Design&SwArch - 27 -

Integration Layer

Arch. 1Arch. 2

Dev. 3Dev. 4

Dev.2

Ops. 2Ops. 1

Arch. 3

Int. 2

Int. 1

Dev. 5

Man.1

Dev.1

Architecting Layer

Development Layer

Operations Layer

Lonesome Architecting:architecting layer is distant

and relatively silent

Architecting by Osmosis:change requests cross

every possible layerlosing info every step of the way

org.soc. relations

social debt pattern

LEGENDA

Person

NewComer

Subgroup

Architecture Change Request

Debt Effects: à  Unsanctioned Refactoring à  Requests loose knowledge

along the way à  Uninformed Architecture

Decisions

?

Page 28: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

A Real-Life Organizational & Social Structure

Design&SwArch - 28 -

Integration Layer

Arch. 1Arch. 2

Dev. 3Dev. 4

Dev.2

Ops. 2Ops. 1

Arch. 3

Int. 2

Int. 1

Dev. 5

Man.1

Dev.1

Architecting Layer

Development Layer

Operations Layer

Lonesome Architecting:architecting layer is distant

and relatively silent

Architecting by Osmosis:change requests cross

every possible layerlosing info every step of the way

org.soc. relations

social debt pattern

LEGENDA

Person

NewComer

Subgroup

Architecture Change Request

Why is it debt? Where is the negative tie?

Page 29: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

A Real-Life Organizational & Social Structure

Design&SwArch - 29 -

Integration Layer

Arch. 1Arch. 2

Dev. 3Dev. 4

Dev.2

Ops. 2Ops. 1

Arch. 3

Int. 2

Int. 1

Dev. 5

Man.1

Dev.1

Architecting Layer

Development Layer

Operations Layer

Lonesome Architecting:architecting layer is distant

and relatively silent

Architecting by Osmosis:change requests cross

every possible layerlosing info every step of the way

org.soc. relations

social debt pattern

LEGENDA

Person

NewComer

Subgroup

Architecture Change Request

WHERE IS THE CUSTOMER ON THIS CHART?

?

Page 30: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

A Real-Life Organizational & Social Structure

Design&SwArch - 30 -

Integration Layer

Arch. 1Arch. 2

Dev. 3Dev. 4

Dev.2

Ops. 2Ops. 1

Arch. 3

Int. 2

Int. 1

Dev. 5

Man.1

Dev.1

Architecting Layer

Development Layer

Operations Layer

Lonesome Architecting:architecting layer is distant

and relatively silent

Architecting by Osmosis:change requests cross

every possible layerlosing info every step of the way

org.soc. relations

social debt pattern

LEGENDA

Person

NewComer

Subgroup

Architecture Change Request

And… How about the relations relations between OPERATORS and DEVELOPERS?

Page 31: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

A Real-Life Organizational & Social Structure

Design&SwArch - 31 -

Integration Layer

Arch. 1Arch. 2

Dev. 3Dev. 4

Dev.2

Ops. 2Ops. 1

Arch. 3

Int. 2

Int. 1

Dev. 5

Man.1

Dev.1

Architecting Layer

Development Layer

Operations Layer

Lonesome Architecting:architecting layer is distant

and relatively silent

Architecting by Osmosis:change requests cross

every possible layerlosing info every step of the way

org.soc. relations

social debt pattern

LEGENDA

Person

NewComer

Subgroup

Architecture Change Request

And lastly… How about the relations relations between DEVELOPERS and ARCHITECTS?

Page 32: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

Is this Real???

  It’s as real as it gets...

- 32 -

architecture decisions reach clients and

operations people try troubleshooting

Product is operating and clients report many

inconsistencies

Decisions result into inoperable software

ARCHITECTING BY OSMOSIS

Operators suggest changes to developers

Developers suggest changes to the architecture

poor decisiondocumentation

architectureerosion

time waste

circumstance

PATTERN

Cause/Effect Relations

Social Debt Effect

LEGENDA

Tech. Debt Effect

decisionlocalisation

Fig. 1. Architecting by osmosis, semi-permeable communication.

making architecture decisions using knowledge that is filteredthrough many semi-permeable communication links. We ob-served architecting by osmosis manifesting when the followingsequence of events occurs: (1) the effects of certain decisionsreach clients and product operators but result in inoperablesoftware; (2) operators, pushed by clients, share malcontentwith developers and suggest technical changes; (3) developersevaluate (and sometimes partially implement) possible techni-cal changes and suggest change to architecture decisions; (4)architects make necessary changes in decisions with knowl-edge that was partially filtered by all communication layersin the development network. This pattern is depicted in Fig.1. It was found recurring over time and was encountered 3times. Some of the most common consequences we foundresulting from this pattern are: (a) decision localisation -architecture changes were made by certain architects who didtheir best to communicate but the decision (and consequentrefactoring) remained local to their own team - apparentlyarchitects assumed that the same communication chain for thechange request would disseminate the change itself - eventuallythis phenomenon resulted in uncooperative behaviour; (b) poordecision documentation - much of the rationale and reasoningbehind architecture change requests went lost as people filteredout details through every communication link, this reportedlycaused frustration when architecture documents were involvedand eventually led to deprecation of architecture documents;(c) architecture erosion - some architecture decisions werechanged as they created unstable configurations, this reportedlycaused a great deal of misalignment.

III. PAYING BACK SOCIAL DEBT?

A large part of the negative and invisible effects reportedin Section II were mitigated with success in Capita using apractice referred by people part of Integra as an ArchitectureBoard (AB). An AB is essentially a sub-community in Integracomprised of people who were, are or are likely to be respon-sible for architecture decisions and their dissemination. Morein particular, any person involved in the project and matchingthe following prerequisites would become AB member:

• The person has made or influenced architecture deci-sions with provable rationale;

• The person has architecture expertise or concerns andbelongs to a site without an AB member;

• The person has architecture expertise or concerns andbelongs to a team without an AB member;

Also, for certain architecture decisions requiring particulardomain-specific expertise, client or domain-specific analysts’intervention was required for one or more AB meetings.

Thus structured, an architecture board is consistent with theProblem-Solving Community (PSC) we previously reported in[2]. The community met on a bi-weekly basis to fulfil twoorganisational goals: (a) make and disseminate architecturedecisions; (b) gather and monitor the usage of organisationalculture inherent to devising and disseminating decisions.

This practice reportedly reduced debt connected to 3 of thepatterns reported above, namely: (a) obfuscated architecting;(b) invisible architecting and (c) lonesome architecting.

Nevertheless, using ABs was not without nasty conse-quences. For example, some board-members eventually as-sumed subversive behaviour of their own, e.g., pulling deci-sions and decision-making towards their own concerns whiledisregarding or belittling others, with consequent emergenceof social debt. Quoting from our interviews “[members of theboard] are essentially different architects from different teamsand pulling towards their own direction instead of finding acommon standard [for organisational structure and goals]”. Wefound reports of this circumstance 4 times. Also, the AB itselfreceived little or no formal recognition by the organisationalstructure around Capita. This reportedly compromised itsexistence. We saw indication of this 5 times in our interviews.For example, one architect reported that “ The architects boardis also unofficial.. [this means] no formal organization, nodiscipline. [Hence] still there are cases in which architects arenot involved and requirements are not well documented andspecified. [...] Involvement of architects always! To minimisethe risk of false implementation”.

IV. SOCIAL DEBT AND ARCHITECTING: WHAT CAN BEMEASURED?

Analysing our interviews, the resulting patterns and theirroot-cause we observed that sharing architecture knowledge,i.e., the act of making available software architecture decisionsand related artefacts [9], is necessary for the quality of softwareprocesses and resulting products but it is not sufficient. It is infact architecture incommunicability that plays a key role in theemergence of social debt. Architecture incommunicability is

the inability to communicate architecture decisions tempes-

tively to those who should be aware of them due to adverse or-

ganisational or social circumstances across the development

network. In other words, architecture incommunicability is thelikelihood that who should know about architecture decisionsactually does not know anything about them. By its verynature, incommunicability has to do with communication andhence is afflicted by social and organisational circumstances(e.g., organisational filtering protocols or non-disclosure agree-ments). As such, however, architecture incommunicability canbe studied combining principles and techniques from social-networks analysis (SNA) with an analysis of who makes archi-tecture decisions, as opposed to who actually knows about saiddecisions. Our scenario seems consistent with what is known as“weak-ties hypothesis” as elaborated by Granovetter in [10] in

-  Recurred more than 10 times over Y1 of Project Integra

-  Social debt has caused 12% budget overhead

-  …

Page 33: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

Social vs. technical debt - two faces of the same coin

- 33 -

architecture decisions reach clients and

operations people try troubleshooting

Product is operating and clients report many

inconsistencies

Decisions result into inoperable software

ARCHITECTING BY OSMOSIS

Operators suggest changes to developers

Developers suggest changes to the architecture

poor decisiondocumentation

architectureerosion

time waste

circumstance

PATTERN

Cause/Effect Relations

Social Debt Effect

LEGENDA

Tech. Debt Effect

decisionlocalisation

Fig. 1. Architecting by osmosis, semi-permeable communication.

making architecture decisions using knowledge that is filteredthrough many semi-permeable communication links. We ob-served architecting by osmosis manifesting when the followingsequence of events occurs: (1) the effects of certain decisionsreach clients and product operators but result in inoperablesoftware; (2) operators, pushed by clients, share malcontentwith developers and suggest technical changes; (3) developersevaluate (and sometimes partially implement) possible techni-cal changes and suggest change to architecture decisions; (4)architects make necessary changes in decisions with knowl-edge that was partially filtered by all communication layersin the development network. This pattern is depicted in Fig.1. It was found recurring over time and was encountered 3times. Some of the most common consequences we foundresulting from this pattern are: (a) decision localisation -architecture changes were made by certain architects who didtheir best to communicate but the decision (and consequentrefactoring) remained local to their own team - apparentlyarchitects assumed that the same communication chain for thechange request would disseminate the change itself - eventuallythis phenomenon resulted in uncooperative behaviour; (b) poordecision documentation - much of the rationale and reasoningbehind architecture change requests went lost as people filteredout details through every communication link, this reportedlycaused frustration when architecture documents were involvedand eventually led to deprecation of architecture documents;(c) architecture erosion - some architecture decisions werechanged as they created unstable configurations, this reportedlycaused a great deal of misalignment.

III. PAYING BACK SOCIAL DEBT?

A large part of the negative and invisible effects reportedin Section II were mitigated with success in Capita using apractice referred by people part of Integra as an ArchitectureBoard (AB). An AB is essentially a sub-community in Integracomprised of people who were, are or are likely to be respon-sible for architecture decisions and their dissemination. Morein particular, any person involved in the project and matchingthe following prerequisites would become AB member:

• The person has made or influenced architecture deci-sions with provable rationale;

• The person has architecture expertise or concerns andbelongs to a site without an AB member;

• The person has architecture expertise or concerns andbelongs to a team without an AB member;

Also, for certain architecture decisions requiring particulardomain-specific expertise, client or domain-specific analysts’intervention was required for one or more AB meetings.

Thus structured, an architecture board is consistent with theProblem-Solving Community (PSC) we previously reported in[2]. The community met on a bi-weekly basis to fulfil twoorganisational goals: (a) make and disseminate architecturedecisions; (b) gather and monitor the usage of organisationalculture inherent to devising and disseminating decisions.

This practice reportedly reduced debt connected to 3 of thepatterns reported above, namely: (a) obfuscated architecting;(b) invisible architecting and (c) lonesome architecting.

Nevertheless, using ABs was not without nasty conse-quences. For example, some board-members eventually as-sumed subversive behaviour of their own, e.g., pulling deci-sions and decision-making towards their own concerns whiledisregarding or belittling others, with consequent emergenceof social debt. Quoting from our interviews “[members of theboard] are essentially different architects from different teamsand pulling towards their own direction instead of finding acommon standard [for organisational structure and goals]”. Wefound reports of this circumstance 4 times. Also, the AB itselfreceived little or no formal recognition by the organisationalstructure around Capita. This reportedly compromised itsexistence. We saw indication of this 5 times in our interviews.For example, one architect reported that “ The architects boardis also unofficial.. [this means] no formal organization, nodiscipline. [Hence] still there are cases in which architects arenot involved and requirements are not well documented andspecified. [...] Involvement of architects always! To minimisethe risk of false implementation”.

IV. SOCIAL DEBT AND ARCHITECTING: WHAT CAN BEMEASURED?

Analysing our interviews, the resulting patterns and theirroot-cause we observed that sharing architecture knowledge,i.e., the act of making available software architecture decisionsand related artefacts [9], is necessary for the quality of softwareprocesses and resulting products but it is not sufficient. It is infact architecture incommunicability that plays a key role in theemergence of social debt. Architecture incommunicability is

the inability to communicate architecture decisions tempes-

tively to those who should be aware of them due to adverse or-

ganisational or social circumstances across the development

network. In other words, architecture incommunicability is thelikelihood that who should know about architecture decisionsactually does not know anything about them. By its verynature, incommunicability has to do with communication andhence is afflicted by social and organisational circumstances(e.g., organisational filtering protocols or non-disclosure agree-ments). As such, however, architecture incommunicability canbe studied combining principles and techniques from social-networks analysis (SNA) with an analysis of who makes archi-tecture decisions, as opposed to who actually knows about saiddecisions. Our scenario seems consistent with what is known as“weak-ties hypothesis” as elaborated by Granovetter in [10] in

Social Debt Effect

Technical Debt Effects

Page 34: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

Social debt… what was the sub-optimal decision in this scenario?

  Deciding to integrate a product according to organizational guidelines without knowing weather the resulting architecture and organization were aligned.

Design&SwArch - 34 -

Page 35: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

“Grand” Challenges

  Finding these “Community” Smells from software engineering practice

  Measure connected Social (or Socio-Techncial) Debt   Providing Operationalization and tools

  Circumvent the sinkhole effect

  Exploring the relation between social and technical debt

Design&SwArch - 35 -

Page 36: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

Any Questions?

Design&SwArch - 36 -

Page 37: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

In case you were wondering…Who is interested in social debt?

Page 38: (En)Light(e)ning Talk: From Technical to Social …...Politecnico di Milano (En)Light(e)ning Talk: From Technical to Social Debt and Back Again… Damian A. Tamburri (That annoying

Biblio

[1] Sonnenschein, H. & Hurwicz, L., ed. (2005), Social Goals and Social Organization. [2] Exploring the Social Ledger: Negative Relationships and Negative Asymmetry in Social Networks in Organizations [3] Structural holes: The social structure of competition R. S. Burt. Belknap Pr, (1995) [4] Network Organizations: New Concepts for New Forms (1986) by R E Miles, C C Snow [5] Bowles, S. and Gintis S. (2002) "Social Capital and Community Governance". "The Economic Journal, 112: 419-436” [6] Stewart Clegg, James Russell Bailey, International Encyclopedia of Organization Studies, Sage Publications, 2008 [7] Tamburri, D. A.; Lago, P. & van Vliet, H. (2013), 'Organizational social structures for software engineering.', ACM Computing Surveys 46 (1) , 3 . [8] Tamburri, D. A.; Kruchten, P.; Lago, P. & van Vliet, H. (2015), 'Social debt in software engineering: insights from industry.', Journal of Internet Services and Applications – Special Issue on Social Networks in Software Engineering Organizations 6 (1) , 10:1-10:17 . [9] Tamburri, D. A. & Nitto, E. D. (2015), When Software Architecture Leads to Social Debt., in Len Bass; Patricia Lago & Philippe Kruchten, ed., 'WICSA' , IEEE Computer Society.

Design&SwArch - 38 -


Recommended