Upload
phungnga
View
215
Download
1
Embed Size (px)
Citation preview
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
What is Architectural Knowledge?
2
Formal/Planned
Standards
Guidelines
Templates
Academic Frameworks
Informal/ Opportunistic
Wikis
Articles
Issue DBs
© Martin P. Robillard 2016
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
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
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
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
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
8
Edited by Greg Wilson and Amy Brown
http://www.aosabook.org/en/index.html
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
Overview of the Research
10
Data Collection
Data Analysis
Validation
Initial Questions
14
© Martin P. Robillard 2016
(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
(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
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
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
Data Analysis in Action
15
Community
Personal Factors
© Martin P. Robillard 2016
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
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
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
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
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
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
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