Disseminating Architectural Knowledge on Open-Source Projects

0 downloads 124 Views 1MB Size Report
May 19, 2016 - A Case Study of the Book “Architecture of Open Source Applications”. Full-text of the paper at ... Ov
Disseminating Architectural Knowledge on Open-Source Projects A Case Study of the Book “Architecture of Open Source Applications”

Martin Robillard

Nenad Medvidović

McGill University

University of Southern California

Full-text of the paper at http://www.cs.mcgill.ca/~martin/papers/icse2016a.pdf Presented at ICSE 2016 – 19 May 2016 © Martin P. Robillard 2016

What is Architectural Knowledge? Informal/ Opportunistic

Formal/Planned Standards

Wikis

Guidelines

Email

Templates

Articles

Academic Frameworks

Issue DBs

© Martin P. Robillard 2016

2

https://developer.mozilla.org/en-US/docs/Archive/Firefox_OS/Platform/Architecture

Essay-Style (Arch.) Description (ESD)

3

https://developer.mozilla.org/en-US/docs/Archive/Firefox_OS/Platform/Architecture

Essay-Style (Arch.) Description (ESD)

4

https://developer.mozilla.org/en-US/docs/Archive/Firefox_OS/Platform/Architecture

Essay-Style (Arch.) Description (ESD)

5

https://developer.mozilla.org/en-US/docs/Archive/Firefox_OS/Platform/Architecture

Essay-Style (Arch.) Description (ESD)

6

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

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

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

8

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

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

… © Martin P. Robillard 2016

9

Overview of the Research 14

Data Collection

Initial Questions

Data Analysis

Validation © Martin P. Robillard 2016

10

(Excerpt from the) Questionnaire Context • • • •

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…

© Martin P. Robillard 2016

11

(Excerpt from the) Questionnaire Approach • 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…

© Martin P. Robillard 2016

12

Overview of the Research 14

14

+

+

Data Collection

Initial Questions

Interview

Initial Questions

Interview

Data Analysis

Interview Guides

Conceptual Framework

Interview Guides

Multi-Lens Hypothesis

13/18

Validation

8/14

Validation Questions © Martin P. Robillard 2016

MemberChecking 13

18 Participants / Cases (40% resp.) Systems Web app/infrastructure Middleware Development Tools Imaging/Graphics Communication Operating system Compiler Web server Audio editor

Author Occupation 4 3 3 3 1 1 1 1 1

Technical Research Media Business

15 1 1 1

Author Role Founder Core Developer Contributor Outsider

7 8 2 1 14

Data Analysis in Action Community Personal Factors

© Martin P. Robillard 2016

15

Multiple-Lens Hypothesis A lens focuses a specific type of information

Software Project

Technical Aspects

Essay-Style AD

History and Evolution

Stakeholder Community

© Martin P. Robillard 2016

Author Characteristics

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

from the chapter …In 2008 we changed over to using a modular structure with wxWidgets as a separate DLL to allow… Insights • History provides rationale • History explains the current structure • History validates design choices © Martin P. Robillard 2016

17

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

from the Chapter …The image analysis community… → …These are the reasons why [the system] was designed…” Insights • An ESD is both for and about the community. • An ESD support linking stakeholder and technical decisions; © Martin P. Robillard 2016

18

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

from the Chapter Insights • Link between author characteristics and features of the ESD © Martin P. Robillard 2016

19

Validity in Qualitative Research Are the findings accurate from the standpoint of the researcher and participants?

Creswell’s Strategies [2003] • • • •

Triangulation Member-checking Rich descriptions Clarify bias

• Present discrepancies • Peer debriefing

© Martin P. Robillard 2016

20

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

Lenses Evolution

Mechanisms Evolution drove ESDs Community ESDs were also about the community Author Impact of author characteristics on ESDs

Questions Evolving ESDs Tracing the source of information in ESDs Analyzing different personal perspectives

© Martin P. Robillard 2016

21

Disseminating Architectural Knowledge on Open-Source Projects

Software Project

Essay-Style Architectural Description

Lenses Mechanisms Evolution Evolution drove ESDs Community ESDs were also about the community Author Impact of author characteristics on ESDs

Questions Evolving ESDs Tracing the source of information in ESDs Analyzing different personal perspectives

© Martin P. Robillard 2016

Suggest Documents