disseminating architectural knowledge on open-source projectsmartin/slides/icse2016a-public.pdf ·...
TRANSCRIPT
![Page 1: Disseminating Architectural Knowledge on Open-Source Projectsmartin/slides/icse2016a-public.pdf · What is Architectural Knowledge? 2 Formal/Planned . Standards . Guidelines . Templates](https://reader034.vdocument.in/reader034/viewer/2022042106/5e85ebe28ceab5718a2ba0f5/html5/thumbnails/1.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042106/5e85ebe28ceab5718a2ba0f5/html5/thumbnails/2.jpg)
What is Architectural Knowledge?
2
Formal/Planned
Standards
Guidelines
Templates
Academic Frameworks
Informal/ Opportunistic
Wikis
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](https://reader034.vdocument.in/reader034/viewer/2022042106/5e85ebe28ceab5718a2ba0f5/html5/thumbnails/3.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042106/5e85ebe28ceab5718a2ba0f5/html5/thumbnails/4.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042106/5e85ebe28ceab5718a2ba0f5/html5/thumbnails/5.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042106/5e85ebe28ceab5718a2ba0f5/html5/thumbnails/6.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042106/5e85ebe28ceab5718a2ba0f5/html5/thumbnails/7.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042106/5e85ebe28ceab5718a2ba0f5/html5/thumbnails/8.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042106/5e85ebe28ceab5718a2ba0f5/html5/thumbnails/9.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042106/5e85ebe28ceab5718a2ba0f5/html5/thumbnails/10.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042106/5e85ebe28ceab5718a2ba0f5/html5/thumbnails/11.jpg)
(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](https://reader034.vdocument.in/reader034/viewer/2022042106/5e85ebe28ceab5718a2ba0f5/html5/thumbnails/12.jpg)
(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](https://reader034.vdocument.in/reader034/viewer/2022042106/5e85ebe28ceab5718a2ba0f5/html5/thumbnails/13.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042106/5e85ebe28ceab5718a2ba0f5/html5/thumbnails/14.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042106/5e85ebe28ceab5718a2ba0f5/html5/thumbnails/15.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042106/5e85ebe28ceab5718a2ba0f5/html5/thumbnails/16.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042106/5e85ebe28ceab5718a2ba0f5/html5/thumbnails/17.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042106/5e85ebe28ceab5718a2ba0f5/html5/thumbnails/18.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042106/5e85ebe28ceab5718a2ba0f5/html5/thumbnails/19.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042106/5e85ebe28ceab5718a2ba0f5/html5/thumbnails/20.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042106/5e85ebe28ceab5718a2ba0f5/html5/thumbnails/21.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042106/5e85ebe28ceab5718a2ba0f5/html5/thumbnails/22.jpg)
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