Slide 1

Slide 1 text

Hasso Plattner Institute, University of Potsdam, Germany [email protected] @chrisma0 Investigating Software Engineering Artifacts in DevOps Through the Lens of Boundary Objects Christoph Matthies, Robert Heinrich, Rebekka Wohlrab June 2023 Oulu https://conf.researchr.org/home/ease-2023

Slide 2

Slide 2 text

Boundary Objects 2 A theory from sociology applied to engineering organizations “ [...] have different meanings in different social worlds but their structure is common enough to more than one world to make them recognizable, a means of translation [SG89] ” [SG89] S. L. Star & J. R. Griesemer. 1989. Institutional Ecology, “Translations and Boundary Objects: Amateurs and Professionals in Berkeley's Museum of Vertebrate Zoology”, 1907-39. Social Studies of Science 19, 3 (aug 1989), 387–420

Slide 3

Slide 3 text

Boundary Objects 3 A real-world example (also used to explain in interviews)

Slide 4

Slide 4 text

Methodology ■ Exploratory multiple case study [Eas+08] □ 9 study sites, 12 interviews with industry practitioners □ Median 9.5 years of work experience 4 [Eas+08] S. Easterbrook, J. Singer, M.-A. Storey & D. Damian. 2008. “Selecting empirical methods for software engineering research”. In Guide to advanced empirical software engineering. 285–311. 1. Collaboration practices, coordination of dev and ops roles, significance of engineering artifacts 2. Introduction of Boundary Object concept 3. Reflection on concept in daily work ■ Semi-Structured Interviews

Slide 5

Slide 5 text

Boundary Objects 5 A real-world example (also used to explain in interviews)

Slide 6

Slide 6 text

Research Questions RQ1 Categories of artifacts employed as Boundary Objects? 6 Areas of inquiry within the research paper RQ2 Which stakeholders are involved? RQ3 Where do practitioners see concerns? RQ4 What attributes influence Boundary Object relevance?

Slide 7

Slide 7 text

Research Questions RQ1 Categories of artifacts employed as Boundary Objects? 7 Presented in this talk RQ4 What attributes influence Boundary Object relevance?

Slide 8

Slide 8 text

DevOps Boundary Objects 8 Categories of Boundary Objects identified by study participants Dev. Ops.

Slide 9

Slide 9 text

DevOps Boundary Objects 9 Examples of Boundary Objects identified by study participants Dev. Ops. ■ Sprint Backlog Entry ■ Pseudo-Code ■ Metrics Dashboard ■ Software Log File ■ Wiki Page ■ Code Review Comment ■ Checklists with steps ■ Operations Runbooks

Slide 10

Slide 10 text

Attributes of Boundary Objects 10 Seven attributes that influenced perceptions of relevance DevOps Boundary Objects Frequency of Change Connected- ness Criticality Level of Automation Structured- ness Lifespan Number of Stakeholders

Slide 11

Slide 11 text

DevOps Boundary Objects Frequency of Change Connected- ness Criticality Level of Automation Structured- ness Lifespan Number of Stakeholders Attributes of Boundary Objects 11 Relative to other objects in a given context, how frequent are updates? DevOps Boundary Objects Frequency of Change ■ Notifications on updates ■ Obtained info outdated quickly ■ “a map might be a good Boundary Object because its speed of change is manageable” [Interview K]

Slide 12

Slide 12 text

DevOps Boundary Objects Frequency of Change Connected- ness Criticality Level of Automation Structured- ness Lifespan Number of Stakeholders Attributes of Boundary Objects 12 How many connections to other engineering artifacts are there? DevOps Boundary Objects Connected- ness ■ Higher degree of detail without duplication ■ Higher effort to fully explore knowledge ■ Maintenance of links

Slide 13

Slide 13 text

DevOps Boundary Objects Frequency of Change Connected- ness Criticality Level of Automation Structured- ness Lifespan Number of Stakeholders Attributes of Boundary Objects 13 To what degree will the performance degrade if the object is unavailable? DevOps Boundary Objects Criticality ■ Described by “how many people can’t work” ■ Consequences of inadequate/missing quality (legal reqs): “They will literally send you to jail” [Interview K]

Slide 14

Slide 14 text

DevOps Boundary Objects Frequency of Change Connected- ness Criticality Level of Automation Structured- ness Lifespan Number of Stakeholders Attributes of Boundary Objects 14 How much repeated manual effort is required to update the object? ■ Automate as much as possible (in theory, less in practice) ■ “If communication is ad-hoc, it is slow, get rid of it and automate” [Interview F] ■ Monitoring and alerting of stakeholders DevOps Boundary Objects Level of Automation

Slide 15

Slide 15 text

DevOps Boundary Objects Frequency of Change Connected- ness Criticality Level of Automation Structured- ness Lifespan Number of Stakeholders Attributes of Boundary Objects 15 To what degree does the object follow set standards? ■ Highly dependent on context ■ Reports via email vs. Jira task management ■ Structure enables faster understanding DevOps Boundary Objects Structured- ness

Slide 16

Slide 16 text

DevOps Boundary Objects Frequency of Change Connected- ness Criticality Level of Automation Structured- ness Lifespan Number of Stakeholders Attributes of Boundary Objects 16 When is the object created and for how long is it relevant? ■ May be used only for a specific development phase ■ Archived or set as read-only ■ May require data only available later, e.g. metrics dashboards DevOps Boundary Objects Lifespan

Slide 17

Slide 17 text

DevOps Boundary Objects Frequency of Change Connected- ness Criticality Level of Automation Structured- ness Lifespan Number of Stakeholders Attributes of Boundary Objects 17 How many stakeholders derive value from the object during its lifespan? ■ Includes non-technical roles e.g. Product Management ■ “If a microservice is to be monetized, the marketing team must interact” [Interview E] DevOps Boundary Objects Number of Stakeholders

Slide 18

Slide 18 text

Conclusion 18 ■ Previously identified Boundary Objects present in DevOps contexts □ E.g. checklists in medicine or software security [Gil+03] □ No single central coordination objects ■ Starting points for collaboration and connecting stakeholders [Gil+03] D.P. Gilliam, T.L. Wolfe, J.S. Sherif, and M. Bishop. 2003. “Software Security Checklist for the Software Life Cycle”. In Twelfth IEEE International Workshops on Enabling Technologies (WET 2003). 243–248.

Slide 19

Slide 19 text

Conclusion 19 ■ Object attributes inform knowledge management □ E.g. Object with two stakeholders, low criticality, and lacking automation → might not be worth maintenance overhead ■ “management of the data generated by the [DevOps] toolchain is still undervalued” [Col+21] in practice [Col+21] A. Colantoni, A. Garmendia, L. Berardinelli, M. Wimmer, and J. Brauer. 2021. “Leveraging Model-Driven Technologies for JSON Artefacts”. In 24th Int. Conference on Model Driven Engineering Languages and Systems. 250–260.

Slide 20

Slide 20 text

Conclusion 20 “the more an agile team operates according to DevOps, the more it benefits from its artifacts [Fors+20] ” [Fors+20] M. Forsberg Lie, M. Sánchez-Gordón, and R. Colomo-Palacios. 2020. “DevOps in an ISO 13485 Regulated Environment”. In 14th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement. 1–11. but the more it needs to consciously manage the Boundary Objects that facilitate collaboration

Slide 21

Slide 21 text

Summary 21

Slide 22

Slide 22 text

Image Sources 22 In order of appearance ■ area by Nithinan Tatah from Noun Project (CCBY3.0) ■ Document by Liberus from Noun Project (CCBY3.0) ■ Document by DinosoftLab from Noun Project (CCBY3.0) ■ Definition by Eko Purnomo from Noun Project (CCBY3.0) ■ explain by Iconographer from Noun Project (CCBY3.0) ■ Hiking Map (hiking-map_926245) by sclance.com ■ interview by Mutualism from Noun Project (CCBY3.0) ■ Architectural Design software diagram by heinzhafner.de ■ Question by Alzam from Noun Project (CCBY3.0) ■ conclusion by WEBTECHOPS LLP from Noun Project (CCBY3.0)