Code, Camera, Action: How Software Developers Document and Share Program Knowledge Using YouTube

Creating documentation is a challenging task in software engineering and most techniques involve the laborious and sometimes tedious job of writing text. This paper explores an alternative to traditional text-based documentation, the screen-cast, which captures a developer's screen while they narrate how a program or software tool works. We conducted a study to investigate how developers produce and share developer-focused screen casts using the You Tube social platform. First, we identified and analyzed a set of development screen casts to determine how developers have adapted to the medium to meet the demands of development-related documentation needs. We also explored the techniques and strategies used for sharing software knowledge. Second, we interviewed screen cast producers to understand their motivations for creating screen casts, and to uncover the perceived benefits and challenges in producing code-focused videos. Our findings reveal that video is a useful medium for communicating program knowledge between developers, and that developers build their online personas and reputation by sharing videos through social channels.

[1]  Philippe Kruchten,et al.  A methodological leg to stand on: lessons learned using grounded theory to study software development , 2008, CASCON '08.

[2]  Weizhao Zhao,et al.  Work in progress: Video tutorials that enhance laboratory learning , 2012, 2012 Frontiers in Education Conference Proceedings.

[3]  Philip J. Guo,et al.  Two studies of opportunistic programming: interleaving web foraging, learning, and writing code , 2009, CHI.

[4]  Rory V. O'Connor,et al.  Using grounded theory to understand software process improvement: A study of Irish software product companies , 2007, Inf. Softw. Technol..

[5]  Chareen Snelson,et al.  YouTube across the Disciplines: A Review of the Literature , 2011 .

[6]  Helen L. Partridge,et al.  Social Media and Tacit Knowledge Sharing: Developing a Conceptual Model , 2012 .

[7]  Philip J. Guo,et al.  How video production affects student engagement: an empirical study of MOOC videos , 2014, L@S.

[8]  N. Pennington Stimulus structures and mental representations in expert comprehension of computer programs , 1987, Cognitive Psychology.

[9]  Michael J. Muller,et al.  Motivations for social networking at work , 2008, CSCW.

[10]  K. R. Priya Grounded Theory Methodology , 2013 .

[11]  Carolyn B. Seaman,et al.  Qualitative Methods in Empirical Studies of Software Engineering , 1999, IEEE Trans. Software Eng..

[12]  Thomas A. Schwandt The SAGE Dictionary of Qualitative Inquiry , 2001 .

[13]  E. Brink,et al.  Constructing grounded theory : A practical guide through qualitative analysis , 2006 .

[14]  P. Strong,et al.  The case for qualitative research , 1992 .

[15]  Ilan Oshri,et al.  Social ties, knowledge sharing and successful collaboration in globally distributed system development projects , 2005, Eur. J. Inf. Syst..

[16]  Coniferous softwood GENERAL TERMS , 2003 .

[17]  Michael Jones,et al.  Guiding the use of Grounded Theory in Doctoral studies – an example from the Australian film industry , 2011 .

[18]  U. Kelle "Emergence" vs. "forcing" of empirical data? A crucial problem of "grounded theory" reconsidered , 2005 .

[19]  Edward Doering,et al.  Circuits Learned by Example Online (CLEO): A video-based resource to support engineering circuit analysis courses , 2009, 2009 39th IEEE Frontiers in Education Conference.

[20]  Margaret-Anne D. Storey,et al.  Theories, Methods and Tools in Program Comprehension: Past, Present and Future , 2005, IWPC.

[21]  James D. Herbsleb,et al.  Social coding in GitHub: transparency and collaboration in an open software repository , 2012, CSCW.

[22]  Peter Duffy,et al.  Engaging the YouTube Google-Eyed Generation: Strategies for Using Web 2.0 in Teaching and Learning. , 2008 .

[23]  Andrea Hemetsberger,et al.  SHARING AND CREATING KNOWLEDGE IN OPEN-SOURCE COMMUNITIES - THE CASE OF KDE , 2004 .

[24]  Ruven E. Brooks,et al.  Towards a Theory of the Comprehension of Computer Programs , 1983, Int. J. Man Mach. Stud..

[25]  V. Gueorguieva,et al.  Voters, MySpace, and YouTube: The Impact of Alternative Communication Channels on the Election Cycle and Beyond. , 2006 .

[26]  Carol Haigh,et al.  YouTube as a source of clinical skills education. , 2013, Nurse education today.

[27]  Samy A. Azer,et al.  Can “YouTube” help students in learning surface anatomy? , 2012, Surgical and Radiologic Anatomy.

[28]  Kaye D. Trammell,et al.  Blog power: Examining the effects of practitioner blog use on power in public relations , 2007 .

[29]  James D. Hollan,et al.  Distributed cognition: toward a new foundation for human-computer interaction research , 2000, TCHI.

[30]  Lena Mamykina,et al.  Design lessons from the fastest q&a site in the west , 2011, CHI.

[31]  Anneliese Amschler Andrews,et al.  Program Comprehension During Software Maintenance and Evolution , 1995, Computer.

[32]  George Allan,et al.  A critique of using grounded theory as a research method , 2003 .

[33]  Leif Singer,et al.  The (R) Evolution of social media in software engineering , 2014, FOSE.

[34]  Steven E. Stemler Practical Assessment, Research, and Evaluation Practical Assessment, Research, and Evaluation A Comparison of Consensus, Consistency, and Measurement A Comparison of Consensus, Consistency, and Measurement Approaches to Estimating Interrater Reliability Approaches to Estimating Interrater Reliabilit , 2022 .

[35]  K. Charmaz,et al.  Qualitative interviewing and grounded theory analysis , 2012 .

[36]  Eleanor McLellan,et al.  Codebook Development for Team-Based Qualitative Analysis , 1998 .

[37]  Cliff Lampe,et al.  The Benefits of Facebook "Friends: " Social Capital and College Students' Use of Online Social Network Sites , 2007, J. Comput. Mediat. Commun..

[38]  C. Vassy,et al.  [The awareness of dying]. , 1993, Soins; la revue de reference infirmiere.

[39]  M. Lindvall,et al.  Knowledge management in software engineering , 2002, IEEE Software.

[40]  Danah Boyd,et al.  Social Network Sites: Definition, History, and Scholarship , 2007, J. Comput. Mediat. Commun..

[41]  Lada A. Adamic,et al.  Knowledge sharing and yahoo answers: everyone knows something , 2008, WWW.

[42]  C. Brodsky The Discovery of Grounded Theory: Strategies for Qualitative Research , 1968 .

[43]  Sanja Mohorovicic Creation and use of screencasts in higher education , 2012, 2012 Proceedings of the 35th International Convention MIPRO.

[44]  Leif Singer,et al.  Assessing Technical Candidates on the Social Web , 2013, IEEE Software.

[45]  Li-Te Cheng,et al.  Waypointing and social tagging to support program navigation , 2006, CHI EA '06.

[46]  Andrew Walenstein,et al.  Foundations of Cognitive Support: Toward Abstract Patterns of Usefulness , 2002, DSV-IS.

[47]  Christoph Treude,et al.  Effective communication of software development knowledge through community portals , 2011, ESEC/FSE '11.

[48]  Alireza Moghaddam,et al.  Coding Issues in Grounded Theory. , 2006 .

[49]  Ronald J. Chenail YouTube as a Qualitative Research Asset: Reviewing User Generated Videos as Learning Resources. , 2011 .

[50]  Kenneth Luterbach,et al.  Examining the Anatomy of a Screencast: Uncovering Common Elements and Instructional Strategies , 2010 .

[51]  Christoph Treude,et al.  How do programmers ask and answer questions on the web?: NIER track , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[52]  Scott R. Klemmer,et al.  Example-centric programming: integrating web search into the development environment , 2010, CHI.

[53]  Willard Richardson,et al.  Blogs, Wikis, Podcasts, and Other Powerful Web Tools for Classrooms , 2006 .

[54]  Keith M. Sturges,et al.  Mapping the Process: An Exemplar of Process and Challenge in Grounded Theory Analysis , 2005 .

[55]  Hye-Jin Paek,et al.  Peer or expert? , 2011 .

[56]  Alice M. Tybout,et al.  The Concept of External Validity , 1982 .

[57]  R. Suddaby From the Editors: What Grounded Theory is Not , 2006 .

[58]  Christoph Treude,et al.  The impact of social media on software engineering practices and tools , 2010, FoSER '10.

[59]  Christoph Treude,et al.  Crowd Documentation : Exploring the Coverage and the Dynamics of API Discussions on Stack Overflow , 2012 .

[60]  Miguel P Caldas,et al.  Research design: qualitative, quantitative, and mixed methods approaches , 2003 .

[61]  Ted J. Biggerstaff,et al.  The concept assignment problem in program understanding , 1993, [1993] Proceedings Working Conference on Reverse Engineering.

[62]  Arie van Deursen,et al.  A Systematic Survey of Program Comprehension through Dynamic Analysis , 2008, IEEE Transactions on Software Engineering.

[63]  L. Hallberg The “core category” of grounded theory: Making constant comparisons , 2006 .

[64]  Nadaleen Tempelman-Kluit Multimedia Learning Theories and Online Instruction , 2006 .

[65]  Philippe Kruchten,et al.  Using grounded theory to study the experience of software development , 2011, Empirical Software Engineering.

[66]  J. Swart,et al.  Sharing knowledge in knowledge-intensive firms , 2003 .

[67]  Christoph Treude,et al.  Mutual assessment in the social programmer ecosystem: an empirical investigation of developer profile aggregators , 2013, CSCW.

[68]  K. Charmaz,et al.  'Discovering' chronic illness: using grounded theory. , 1990, Social science & medicine.

[69]  Shaun Belward,et al.  To screencast or not to screencast , 2010 .

[70]  Colin Lankshear,et al.  DIY Media: A contextual background and some contemporary themes , 2010 .

[71]  Joanne Oud,et al.  Guidelines for effective online instruction using multimedia screencasts , 2009 .

[72]  M. McLure Wasko,et al.  "It is what one does": why people participate and help others in electronic communities of practice , 2000, J. Strateg. Inf. Syst..

[73]  Laura MacLeod,et al.  Reputation on Stack Exchange: Tag, You're It! , 2014, 2014 28th International Conference on Advanced Information Networking and Applications Workshops.

[74]  Barney Dalgarno,et al.  The Effectiveness of Screencasts and Cognitive Tools as Scaffolding for Novice Object-Oriented Programmers , 2008, J. Inf. Technol. Educ..

[75]  E. Wenger Communities of Practice and Social Learning Systems , 2000 .

[76]  K. Buckley,et al.  An Untapped Resource: Using YouTube in Nursing Education , 2009, Nurse educator.

[77]  Klaus Krippendorff,et al.  Content Analysis: An Introduction to Its Methodology , 1980 .

[78]  Harri Oinas-Kukkonen,et al.  A System Architecture for the 7C Knowledge Environment , 2008, EJC.

[79]  Tomasz Kocejko The influence of multimedia based e-learning techniques for the capability of adopting the knowledge by senior students , 2011, 2011 14th International Conference on Interactive Collaborative Learning.

[80]  André van der Hoek,et al.  Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering , 2010, FSE 2010.

[81]  Steven Pace,et al.  A grounded theory of the flow experiences of Web users , 2004, Int. J. Hum. Comput. Stud..

[82]  Peter Thomas,et al.  Being online, living offline: the influence of social ties over the appropriation of social network sites , 2008, CSCW.

[83]  Andrew Begel,et al.  Social media for software engineering , 2010, FoSER '10.

[84]  James A. Holstein,et al.  The SAGE Handbook of Interview Research: The Complexity of the Craft , 2012 .

[85]  Martin P. Robillard,et al.  Creating and evolving developer documentation: understanding the decisions of open source contributors , 2010, FSE '10.

[86]  Samir Bennani,et al.  The impact of YouTube videos on the student's learning , 2012, 2012 International Conference on Information Technology Based Higher Education and Training (ITHET).

[87]  Janice Singer,et al.  How software engineers use documentation: the state of the practice , 2003, IEEE Software.

[88]  野中 郁次郎,et al.  The knowledge-creating company , 2008 .

[89]  Moria Levy,et al.  WEB 2.0 implications on knowledge management , 2009, J. Knowl. Manag..

[90]  Rory O'Connor,et al.  Investigating software process in practice: A grounded theory perspective , 2008, J. Syst. Softw..

[91]  Philippe Kruchten,et al.  Reconciling perspectives: A grounded theory of how people manage the process of software development , 2012, J. Syst. Softw..

[92]  Leif Singer,et al.  Software engineering at the speed of light: how developers stay current using twitter , 2014, ICSE.