Slide 1

Slide 1 text

Knowledge Building in Software Developer Communities Alexey Zagalsky Supervisor: Dr. Margaret-Anne Storey Ph.D. Thesis presentation, August 2018

Slide 2

Slide 2 text

Motivation With the influence of social media (e.g., Github, Stack Overflow), modern software development is changing. This change seems to: 1. Influence developers activities by changing them or creating new ones 2. Expose development processes which previously were taken for granted, ignored, or misunderstood. To capture that influence, I studied communication channels and social media use. [1] Treude, C., Figueira Filho, F., Cleary, B., & Storey, M. A. (2012). Programming in a socially networked world: the evolution of the social programmer. The Future of Collaborative Software Development, 1-3. 2

Slide 3

Slide 3 text

How Developers Use Social Media → Knowledge Building As I progressed with my studies, it became apparent that knowledge building was a fundamental part of developing software. 3

Slide 4

Slide 4 text

Research Goal and Scope Goal: Model the knowledge building process in software development; Scope: My work is scoped on knowledge transfer, the knowledge activities software developers perform, and the communication media that facilitate them. 4

Slide 5

Slide 5 text

A deeper understanding of how knowledge building happens in the software development process, and why certain practices appear. I have distilled this understanding into a theoretical framework The Contribution I offer 5

Slide 6

Slide 6 text

Research Process Overview → 6

Slide 7

Slide 7 text

Knowledge Framework 7

Slide 8

Slide 8 text

The Meta-Synthesis Process that was used to form the Framework An across-study conceptualization End product is an interpretive integration of findings An inductive form of domain analysis useful for theory development The goal is not to determine the prevalence of findings, but rather to identify the underlying conceptual relations signified, albeit not necessarily explicitly expressed, in the findings 8

Slide 9

Slide 9 text

Meta-Synthesis Steps 1. Identifying the domains (constructs, knowledge types) 2. Constructing a taxonomy of sub-categories (e.g., activities, channels) 3. Specifying the components (adding definitions) 4. Relating both between sub-categories and the primary domains (knowledge types and where they reside) Steps are based on: [2] Sandelowski, M., & Barroso, J. (2006). Handbook for synthesizing qualitative research - chapter 7. [3] Spradley, J. P. (1979). The ethnographic interview - chapters 6 and 8. [4] Atkinson, S., & HAP, M. A. E. (1996). Domain analysis for qualitative public health data. 9

Slide 10

Slide 10 text

Meta-Synthesis Steps 1. Identifying the domains (constructs) 10

Slide 11

Slide 11 text

2. Constructing a taxonomy of sub-categories Meta-Synthesis Steps 11

Slide 12

Slide 12 text

3. Specifying the components Meta-Synthesis Steps 12

Slide 13

Slide 13 text

Meta-Synthesis Steps 4. Relating both between sub-categories and the primary domains 13

Slide 14

Slide 14 text

Meta-Synthesis Steps 4. Relating both between sub-categories and the primary domains 14

Slide 15

Slide 15 text

Meta-Synthesis Steps 4. Relating both between sub-categories and the primary domains Activities Processes & Practices Artifacts Encoded Embedded Embedded Tools Embedded 15

Slide 16

Slide 16 text

Reflecting Back on Empirical Studies 16

Slide 17

Slide 17 text

Reflection Thinking Revisiting findings Combining with literature Identifying and incorporating additional literature 17

Slide 18

Slide 18 text

From Study to an Actionable Outcome: Example [5] Zahedi, M., Shahin, M., & Babar, M. A. (2016). A systematic review of knowledge sharing challenges and practices in global software development. [6] Agarwal, N., & Yiliyasi, Y. (2010). Information quality challenges in social media. The amount of usable knowledge, i.e., an individual’s ability to realize available knowledge 18

Slide 19

Slide 19 text

Heuristic Questionnaire: A Practical Tool 19 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

Slide 20

Slide 20 text

→ → → → 20 New Insights Gained from Using The Framework

Slide 21

Slide 21 text

Concluding Remarks 21

Slide 22

Slide 22 text

Empirical studies of social and communication media use in software development communities A theoretical framework of knowledge building in software development Activity Typology: Classification, Definition, Operationalization A heuristic analysis instrument for practitioners A socio technical perspective on how people use technology to collaborate on technical tasks Contributions 22

Slide 23

Slide 23 text

Limitations My work is scoped on: Actors Channels Activities Generalizability Other communities or other environments (e.g., companies) Validation Same framework + different community or different environment Expansion Same approach, same community, different constructs (e.g., roles) 23

Slide 24

Slide 24 text

Summary Given that knowledge building is an important part of software development, we now have a knowledge framework to better understand and articulate it. I believe this work will lead to a knowledge theory in the future In the upcoming years software development will likely change as much as it did in the last decade: my theoretical framework predicts or can even guide which main directions should be taken. 24

Slide 25

Slide 25 text

Thank you! 25 Empirical study: Social Media Use Empirical study: Knowledge Curation Theoretical framework: Knowledge Building