22
Disseminating Architectural Knowledge on Open-Source Projects Presented at ICSE 2016 – 19 May 2016 © Martin P. Robillard 2016 Martin Robillard Nenad Medvidović McGill University University of Southern California A Case Study of the Book “Architecture of Open Source Applications” Full-text of the paper at http://www.cs.mcgill.ca/~martin/papers/icse2016a.pdf

Disseminating Architectural Knowledge on Open-Source Projectsmartin/slides/icse2016a-public.pdf · What is Architectural Knowledge? 2 Formal/Planned . Standards . Guidelines . Templates

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Disseminating Architectural Knowledge on Open-Source Projectsmartin/slides/icse2016a-public.pdf · What is Architectural Knowledge? 2 Formal/Planned . Standards . Guidelines . Templates

Disseminating Architectural Knowledge on Open-Source Projects

Presented at ICSE 2016 – 19 May 2016 © Martin P. Robillard 2016

Martin Robillard

Nenad Medvidović

McGill University

University of Southern California

A Case Study of the Book “Architecture of Open Source Applications”

Full-text of the paper at http://www.cs.mcgill.ca/~martin/papers/icse2016a.pdf

Page 2: Disseminating Architectural Knowledge on Open-Source Projectsmartin/slides/icse2016a-public.pdf · What is Architectural Knowledge? 2 Formal/Planned . Standards . Guidelines . Templates

What is Architectural Knowledge?

2

Formal/Planned

Standards

Guidelines

Templates

Academic Frameworks

Informal/ Opportunistic

Wikis

Email

Articles

Issue DBs

© Martin P. Robillard 2016

Page 3: Disseminating Architectural Knowledge on Open-Source Projectsmartin/slides/icse2016a-public.pdf · What is Architectural Knowledge? 2 Formal/Planned . Standards . Guidelines . Templates

Essay-Style (Arch.) Description (ESD)

3 http

s://

deve

lope

r.moz

illa.

org/

en-U

S/do

cs/A

rchi

ve/F

irefo

x_O

S/Pl

atfo

rm/A

rchi

tect

ure

Page 4: Disseminating Architectural Knowledge on Open-Source Projectsmartin/slides/icse2016a-public.pdf · What is Architectural Knowledge? 2 Formal/Planned . Standards . Guidelines . Templates

Essay-Style (Arch.) Description (ESD)

4 http

s://

deve

lope

r.moz

illa.

org/

en-U

S/do

cs/A

rchi

ve/F

irefo

x_O

S/Pl

atfo

rm/A

rchi

tect

ure

Page 5: Disseminating Architectural Knowledge on Open-Source Projectsmartin/slides/icse2016a-public.pdf · What is Architectural Knowledge? 2 Formal/Planned . Standards . Guidelines . Templates

Essay-Style (Arch.) Description (ESD)

5 http

s://

deve

lope

r.moz

illa.

org/

en-U

S/do

cs/A

rchi

ve/F

irefo

x_O

S/Pl

atfo

rm/A

rchi

tect

ure

Page 6: Disseminating Architectural Knowledge on Open-Source Projectsmartin/slides/icse2016a-public.pdf · What is Architectural Knowledge? 2 Formal/Planned . Standards . Guidelines . Templates

Essay-Style (Arch.) Description (ESD)

6 http

s://

deve

lope

r.moz

illa.

org/

en-U

S/do

cs/A

rchi

ve/F

irefo

x_O

S/Pl

atfo

rm/A

rchi

tect

ure

Page 7: Disseminating Architectural Knowledge on Open-Source Projectsmartin/slides/icse2016a-public.pdf · What is Architectural Knowledge? 2 Formal/Planned . Standards . Guidelines . Templates

Questions and Research Design

Research Questions: • How did authors

approach ESDs on architecture?

• What determined content selection?

Implications: • Interpreting ESDs; • Assessing value; • Guiding the creation

of future ESDs.

© Martin P. Robillard 2016

Page 8: Disseminating Architectural Knowledge on Open-Source Projectsmartin/slides/icse2016a-public.pdf · What is Architectural Knowledge? 2 Formal/Planned . Standards . Guidelines . Templates

Architecture of Open-Source Applications

8

Edited by Greg Wilson and Amy Brown

http://www.aosabook.org/en/index.html

Page 9: Disseminating Architectural Knowledge on Open-Source Projectsmartin/slides/icse2016a-public.pdf · What is Architectural Knowledge? 2 Formal/Planned . Standards . Guidelines . Templates

9

Volume I & II: 49 Chapters on 45 Systems by 74 Contributors Median: 6400 words 3 diagrams 5 code snippets

Embedded Multi-Case Study

General Case: Book

Embedded Case: Chapter

Embedded Case: Chapter

Architecture of Open-Source Applications Edited by Greg Wilson and Amy Brown

© Martin P. Robillard 2016

Page 10: Disseminating Architectural Knowledge on Open-Source Projectsmartin/slides/icse2016a-public.pdf · What is Architectural Knowledge? 2 Formal/Planned . Standards . Guidelines . Templates

Overview of the Research

10

Data Collection

Data Analysis

Validation

Initial Questions

14

© Martin P. Robillard 2016

Page 11: Disseminating Architectural Knowledge on Open-Source Projectsmartin/slides/icse2016a-public.pdf · What is Architectural Knowledge? 2 Formal/Planned . Standards . Guidelines . Templates

(Excerpt from the) Questionnaire

• How do you describe your role in the project… • Did you consult any other people… • Did you use any materials… • …Did you include, change, or omit information

because this was a book chapter…

11

Context

© Martin P. Robillard 2016

Page 12: Disseminating Architectural Knowledge on Open-Source Projectsmartin/slides/icse2016a-public.pdf · What is Architectural Knowledge? 2 Formal/Planned . Standards . Guidelines . Templates

(Excerpt from the) Questionnaire

• What were the major types of topics […] you decided to describe…

• What approach did you follow… • How did you decide on the sequence of

topics…

12

Approach

© Martin P. Robillard 2016

Page 13: Disseminating Architectural Knowledge on Open-Source Projectsmartin/slides/icse2016a-public.pdf · What is Architectural Knowledge? 2 Formal/Planned . Standards . Guidelines . Templates

Overview of the Research

13

Data Collection

Data Analysis

Validation

Initial Questions

Interview Guides

Interview

Conceptual Framework

Multi-Lens Hypothesis

14 14

Validation Questions

8/14 Member-Checking

13/18

Initial Questions Interview

Interview Guides

+ +

© Martin P. Robillard 2016

Page 14: Disseminating Architectural Knowledge on Open-Source Projectsmartin/slides/icse2016a-public.pdf · What is Architectural Knowledge? 2 Formal/Planned . Standards . Guidelines . Templates

18 Participants / Cases (40% resp.)

14

Web app/infrastructure 4 Middleware 3 Development Tools 3 Imaging/Graphics 3 Communication 1 Operating system 1 Compiler 1 Web server 1 Audio editor 1

Systems Technical 15 Research 1 Media 1 Business 1

Author Occupation

Founder 7 Core Developer 8 Contributor 2 Outsider 1

Author Role

Page 15: Disseminating Architectural Knowledge on Open-Source Projectsmartin/slides/icse2016a-public.pdf · What is Architectural Knowledge? 2 Formal/Planned . Standards . Guidelines . Templates

Data Analysis in Action

15

Community

Personal Factors

© Martin P. Robillard 2016

Page 16: Disseminating Architectural Knowledge on Open-Source Projectsmartin/slides/icse2016a-public.pdf · What is Architectural Knowledge? 2 Formal/Planned . Standards . Guidelines . Templates

Multiple-Lens Hypothesis

Technical Aspects

Software Project Essay-Style AD

History and Evolution

Stakeholder Community

Author Characteristics

A lens focuses a specific type of information

© Martin P. Robillard 2016

Page 17: Disseminating Architectural Knowledge on Open-Source Projectsmartin/slides/icse2016a-public.pdf · What is Architectural Knowledge? 2 Formal/Planned . Standards . Guidelines . Templates

Evolution Lens

17

“History can inform your understanding of the structure” – P1: Core Developer, Audio Editor / of 17 participants

…In 2008 we changed over to using a modular structure with wxWidgets as a separate DLL to allow…

from the chapter

• History provides rationale • History explains the current structure • History validates design choices

Insights

© Martin P. Robillard 2016

Page 18: Disseminating Architectural Knowledge on Open-Source Projectsmartin/slides/icse2016a-public.pdf · What is Architectural Knowledge? 2 Formal/Planned . Standards . Guidelines . Templates

Community Lens

18

“I [emphasized] that the software architecture reflects the composition of the developer community” – P9: Core Developer, Image processing system / of 9

• An ESD is both for and about the community. • An ESD support linking stakeholder and technical

decisions;

Insights

…The image analysis community… → …These are the reasons why [the system] was designed…”

from the Chapter

© Martin P. Robillard 2016

Page 19: Disseminating Architectural Knowledge on Open-Source Projectsmartin/slides/icse2016a-public.pdf · What is Architectural Knowledge? 2 Formal/Planned . Standards . Guidelines . Templates

Author Lens

19

“[I included] the most interesting aspects I had noticed while working on [the system]” – P12: Core Developer, Web content platform / of 17

• Link between author characteristics and features of the ESD

Insights

from the Chapter

© Martin P. Robillard 2016

Page 20: Disseminating Architectural Knowledge on Open-Source Projectsmartin/slides/icse2016a-public.pdf · What is Architectural Knowledge? 2 Formal/Planned . Standards . Guidelines . Templates

Validity in Qualitative Research

• Triangulation • Member-checking • Rich descriptions • Clarify bias

Are the findings accurate from the standpoint of the researcher and participants?

Creswell’s Strategies [2003]

• Present discrepancies • Peer debriefing

20 © Martin P. Robillard 2016

Page 21: Disseminating Architectural Knowledge on Open-Source Projectsmartin/slides/icse2016a-public.pdf · What is Architectural Knowledge? 2 Formal/Planned . Standards . Guidelines . Templates

Conclusions

Lenses Mechanisms Questions Evolution Evolution drove

ESDs Evolving ESDs

Community ESDs were also about the community

Tracing the source of information in ESDs

Author Impact of author characteristics on ESDs

Analyzing different personal perspectives

On the creation of Essay-Style Architecture Documents (ESDs)

21 © Martin P. Robillard 2016

Page 22: Disseminating Architectural Knowledge on Open-Source Projectsmartin/slides/icse2016a-public.pdf · What is Architectural Knowledge? 2 Formal/Planned . Standards . Guidelines . Templates

Disseminating Architectural Knowledge on Open-Source Projects

Software Project Essay-Style Architectural Description

Lenses Mechanisms Questions Evolution Evolution drove ESDs Evolving ESDs Community ESDs were also about

the community Tracing the source of information in ESDs

Author Impact of author characteristics on ESDs

Analyzing different personal perspectives

© Martin P. Robillard 2016