ebook img

The Role of Social Media Artifacts in Collaborative Software Development by Christoph Treude Dipl. PDF

253 Pages·2012·1.91 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview The Role of Social Media Artifacts in Collaborative Software Development by Christoph Treude Dipl.

The Role of Social Media Artifacts in Collaborative Software Development by Christoph Treude Dipl.-Wirt.Inform., University of Siegen, 2007 A Dissertation Submitted in Partial Fulfilment of the Requirements for the Degree of DOCTOR OF PHILOSOPHY in the Department of Computer Science (cid:13)c Christoph Treude, 2012 University of Victoria All rights reserved. This dissertation may not be reproduced in whole or in part, by photocopying or other means, without the permission of the author. ii The Role of Social Media Artifacts in Collaborative Software Development by Christoph Treude Dipl.-Wirt.Inform., University of Siegen, 2007 Supervisory Committee Dr. Margaret-Anne D. Storey, Co-supervisor (Department of Computer Science) Dr. Jens H. Weber, Co-supervisor (Department of Computer Science) Dr. Raymond G. Siemens, Outside Member (Department of English) iii Supervisory Committee Dr. Margaret-Anne D. Storey, Co-supervisor (Department of Computer Science) Dr. Jens H. Weber, Co-supervisor (Department of Computer Science) Dr. Raymond G. Siemens, Outside Member (Department of English) ABSTRACT Social media mechanisms, such as wikis, blogs, tags and feeds, have transformed the way we communicate, work and play online. Many of these technologies have made their way into collaborative software engineering processes and modern software de- velopment platforms, either as an adjunct or integrated into a wide range of tools ranging from code editors and issue trackers to IDEs and web-based portals. Based on the results of several large scale empirical studies, this thesis presents findings on how social media artifacts, such as tags, feeds and dashboards, bridge lightweight and heavyweight task management in software development. Furthermore, this work shows how blogs, developer wikis and Q&A websites are changing the way software is documented. Based on these findings, the thesis describes a model that character- izes social media artifacts along several dimensions, such as content type, intended audience, and review mechanisms. The role of social media artifacts in collaborative software development lies in the timely dissemination of scenarios and concerns to a diverse audience through a process of implicit and informal collaboration, triggered by questions from users or articulation work. These findings lead to tool and process recommendations as well as the implementation of tools that leverage social media artifacts, and they indicate that tool support inspired by social media may play an important role in improving collaborative software development practices. iv Contents Supervisory Committee ii Abstract iii Table of Contents iv List of Tables ix List of Figures xi Acknowledgements xiii Dedication xv I Introduction and Literature Review 1 1 Introduction 2 1.1 Research Statement and Scope . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Research Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.4 Thesis Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2 Literature Review 14 2.1 Social Aspects in Software Development . . . . . . . . . . . . . . . . 14 2.1.1 Empirical Studies on Social Aspects in Software Development 15 2.1.2 Importance of Articulation Work . . . . . . . . . . . . . . . . 16 2.1.3 Need for Informal Tool Support . . . . . . . . . . . . . . . . . 17 2.1.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.2 Use of Social Media by Software Developers . . . . . . . . . . . . . . 19 v 2.2.1 Social Development Environments . . . . . . . . . . . . . . . . 20 2.2.2 Wikis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2.3 Blogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.2.4 Microblogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.2.5 Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.2.6 Feeds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.2.7 Social Networks . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.2.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 II Task Management 29 3 Task Management using IBM’s Jazz 30 3.1 Tagging in IBM’s Jazz . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.1.1 Related Work: Tagging and Software Development . . . . . . 32 3.1.2 Work Item Tags in IBM’s Jazz . . . . . . . . . . . . . . . . . . 36 3.1.3 Research Methodology . . . . . . . . . . . . . . . . . . . . . . 37 3.1.4 Findings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.1.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 3.1.6 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.1.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.2 ConcernLines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 3.2.1 Related Work: Visualization of Software Evolution . . . . . . 65 3.2.2 The ConcernLines Tool . . . . . . . . . . . . . . . . . . . . . . 66 3.2.3 Example Scenarios . . . . . . . . . . . . . . . . . . . . . . . . 68 3.2.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4 Awareness using IBM’s Jazz 72 4.1 Dashboards and Feeds in IBM’s Jazz . . . . . . . . . . . . . . . . . . 73 4.1.1 Related Work: Awareness in Software Development . . . . . . 74 4.1.2 Dashboards and Feeds in IBM’s Jazz . . . . . . . . . . . . . . 76 4.1.3 Research Methodology . . . . . . . . . . . . . . . . . . . . . . 78 4.1.4 Findings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 4.1.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 4.1.6 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.1.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 vi 4.2 WorkItemExplorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 4.2.1 The WorkItemExplorer Tool . . . . . . . . . . . . . . . . . . . 95 4.2.2 Example Scenarios . . . . . . . . . . . . . . . . . . . . . . . . 97 4.2.3 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 4.2.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 5 Task Management using Google Code 104 5.1 Labelling on Google Code . . . . . . . . . . . . . . . . . . . . . . . . 105 5.1.1 Task Labels on Google Code . . . . . . . . . . . . . . . . . . . 105 5.1.2 Research Methodology . . . . . . . . . . . . . . . . . . . . . . 106 5.1.3 Findings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 5.1.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 5.1.5 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 5.1.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 III Documentation 118 6 Documentation of IBM’s Jazz 119 6.1 Documentation on the Community Portal jazz.net . . . . . . . . . . . 119 6.1.1 Related Work: Knowledge and Documentation in Software De- velopment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 6.1.2 The Community Portal jazz.net . . . . . . . . . . . . . . . . . 123 6.1.3 Research Methodology . . . . . . . . . . . . . . . . . . . . . . 124 6.1.4 Findings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 6.1.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 6.1.6 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 6.1.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 7 Prevalence of Crowd Documentation 145 7.1 Prevalence of Crowd Documentation in Google Search Results . . . . 146 7.1.1 Related Work: API Documentation . . . . . . . . . . . . . . . 146 7.1.2 Research Methodology . . . . . . . . . . . . . . . . . . . . . . 147 7.1.3 Findings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 7.1.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 7.1.5 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 vii 7.1.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 8 Crowd Documentation on Stack Overflow 156 8.1 Nature of Crowd Documentation . . . . . . . . . . . . . . . . . . . . 157 8.1.1 Related Work: Question and Answer Websites and Software Engineering . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 8.1.2 The Stack Overflow Portal . . . . . . . . . . . . . . . . . . . . 159 8.1.3 Research Methodology . . . . . . . . . . . . . . . . . . . . . . 159 8.1.4 Findings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 8.1.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 8.1.6 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 8.1.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 8.2 Impact of Crowd Documentation . . . . . . . . . . . . . . . . . . . . 165 8.2.1 Research Methodology . . . . . . . . . . . . . . . . . . . . . . 165 8.2.2 Findings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 8.2.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 8.2.4 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 8.2.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 IV Implications 174 9 A Model of Social Media Artifacts in Collaborative Software De- velopment 175 9.1 Social Media Artifacts in Documentation . . . . . . . . . . . . . . . . 176 9.2 Social Media Artifacts in Task Management . . . . . . . . . . . . . . 180 9.3 Social Media Artifacts in Collaborative Software Development . . . . 185 10 Conclusions and Future Work 188 10.1 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 10.2 Reflections on Research Methods . . . . . . . . . . . . . . . . . . . . 191 10.3 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 10.4 Concluding Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Bibliography 197 viii Appendices 219 A Interview and Survey Questions 220 A.1 Tagging in IBM’s Jazz . . . . . . . . . . . . . . . . . . . . . . . . . . 220 A.2 Dashboards and Feeds in IBM’s Jazz . . . . . . . . . . . . . . . . . . 222 A.3 Documentation of IBM’s Jazz . . . . . . . . . . . . . . . . . . . . . . 229 B WorkItemExplorer Evaluation 232 B.1 Developers’ Questions that WorkItemExplorer Can Answer . . . . . . 232 C Key-Value Pairs on Google Code 237 C.1 Most-Used Keys in Key-Value Pairs . . . . . . . . . . . . . . . . . . . 237 ix List of Tables Table 3.1 Tag related data extracted from repositories . . . . . . . . . . . 39 Table 3.2 Tag keywords with the most instances in Jazz . . . . . . . . . . 44 Table 3.3 Tag keywords with the most instances in EI . . . . . . . . . . . 45 Table 3.4 Most frequently shared tag keywords in Jazz . . . . . . . . . . . 58 Table 3.5 Most frequently shared tag keywords in EI . . . . . . . . . . . . 58 Table 3.6 New categories with possible values, and corresponding tags . . 60 Table 4.1 Viewlet types . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Table 4.2 Number of viewlets per dashboard . . . . . . . . . . . . . . . . 81 Table 4.3 Most frequently chosen viewlet types . . . . . . . . . . . . . . . 82 Table 4.4 Completion time and views for Task 1 . . . . . . . . . . . . . . 100 Table 4.5 Completion time and views for Task 2 . . . . . . . . . . . . . . 100 Table 4.6 Completion time and views for Task 3 . . . . . . . . . . . . . . 101 Table 4.7 Completion time and views for Task 4 . . . . . . . . . . . . . . 101 Table 4.8 Views for Task 5 . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Table 4.9 Queries used by study participants . . . . . . . . . . . . . . . . 102 Table 5.1 Mechanisms for task management used by different projects . . 109 Table 5.2 Key-value pairs with the most instances across all projects . . . 110 Table 5.3 Key-value pairs with the most instances in Android . . . . . . . 111 Table 5.4 Key-value pairs with the most instances in CyanogenMod . . . 111 Table 5.5 Labels with the most instances across all projects . . . . . . . . 112 Table 5.6 Labels with the most instances in Android . . . . . . . . . . . . 112 Table 5.7 Labels with the most instances in CyanogenMod . . . . . . . . 113 Table 5.8 Edit distance of all projects . . . . . . . . . . . . . . . . . . . . 116 Table 5.9 Most displayed columns . . . . . . . . . . . . . . . . . . . . . . 116 Table 6.1 RTC-related artifacts on jazz.net . . . . . . . . . . . . . . . . . 124 Table 6.2 Most-used tags in jazz.net library by type . . . . . . . . . . . . 128 x Table 6.3 Role of the official product documentation . . . . . . . . . . . . 130 Table 6.4 Role of technical articles . . . . . . . . . . . . . . . . . . . . . . 131 Table 6.5 Role of blogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Table 6.6 Role of wikis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Table 7.1 API coverage by different web resources . . . . . . . . . . . . . 149 Table 7.2 Types of blog posts . . . . . . . . . . . . . . . . . . . . . . . . 150 Table 8.1 Data extracted from Stack Overflow . . . . . . . . . . . . . . . 160 Table 8.2 Most-used tag keywords on Stack Overflow . . . . . . . . . . . 161 Table 8.3 Coding of tags on Stack Overflow . . . . . . . . . . . . . . . . . 161 Table 8.4 Coding of questions on Stack Overflow . . . . . . . . . . . . . . 162 Table 9.1 Social media artifacts in documentation . . . . . . . . . . . . . 177 Table 9.2 Social media artifacts in task management . . . . . . . . . . . . 181 Table 9.3 Social media artifacts in collaborative software development . . 186 Table C.1 Keys with the most instances across all projects . . . . . . . . . 237 Table C.2 Keys with the most instances in Android . . . . . . . . . . . . . 238 Table C.3 Keys with the most instances in CyanogenMod . . . . . . . . . 238

Description:
shows how blogs, developer wikis and Q&A websites are changing the way software is documented. izes social media artifacts along several dimensions, such as content type, intended audience, and and philosophy has emerged that is changing the way we search for documentation, where we
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.