Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Thesis Defense: Knowledge Building in Software Developer Communities

Thesis Defense: Knowledge Building in Software Developer Communities

These are the slides from PhD defense presentation.

Software development has become a cognitive and collaborative knowledge-based endeavor where developers and organizations, faced with a variety of challenges and an increased demand for extensive knowledge support, push the boundaries of existing tools and work practices. Researchers and industry professionals have spent years studying collaborative work and communication media, however, the landscape of social media is rapidly changing. Thus, instead of trying to model the use of specific technologies and communication media, I seek to model the knowledge-building process itself. Doing so will not only allow us to understand specific tool and communication media use, but whole ecosystems of technologies and their impact on software development and knowledge work, revealing aspects not only unique to specific tools, but also aspects about the combination of technologies.

In this dissertation, I describe the empirical studies I conducted aimed to understand social and communication media use in software development and knowledge curation within developer communities. An important part of the thesis is an additional qualitative meta-synthesis of these studies. My meta-analysis has led to a model of software development as a knowledge building process, and a theoretical framework: I describe this newly formed framework and how it is grounded in empirical work, and demonstrate how my primary studies led to its creation. My conceptualization of knowledge building withing software development and the proposed framework provide the research community with the means to pursue a deeper understanding of software development and contemporary knowledge work. I believe that this framework can serve as a basis for a theory of knowledge building in software development, shedding light on knowledge flow, knowledge productivity, and knowledge management.

Alexey Zagalsky

August 27, 2018
Tweet

More Decks by Alexey Zagalsky

Other Decks in Research

Transcript

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

    View Slide

  2. 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

    View Slide

  3. 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

    View Slide

  4. 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

    View Slide

  5. 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

    View Slide

  6. Research Process Overview

    6

    View Slide

  7. Knowledge Framework
    7

    View Slide

  8. 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

    View Slide

  9. 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

    View Slide

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

    View Slide

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

    View Slide

  12. 3. Specifying the components
    Meta-Synthesis Steps
    12

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  16. Reflecting Back on Empirical Studies
    16

    View Slide

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

    View Slide

  18. 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

    View Slide

  19. Heuristic Questionnaire: A Practical Tool
    19

























    View Slide





  20. 20
    New Insights Gained from Using The Framework

    View Slide

  21. Concluding Remarks
    21

    View Slide

  22. 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

    View Slide

  23. 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

    View Slide

  24. 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

    View Slide

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

    View Slide