Human-Centered Methods to Boost Productivity [chapter]

Brad A. Myers, Andrew J. Ko, Thomas D. LaToza, YoungSeok Yoon
2019 Rethinking Productivity in Software Engineering  
Since programming is a human activity, we can look to fields that have already developed methods to better understand the details of human interactions with technologies. In particular, the field of human-computer interaction (HCI) has dozens, if not hundreds, of methods that have been validated for answering a wide range of questions about human behaviors [4] . (And many of these methods, in turn, have been adapted from methods used in psychology, ethnography, sociology, etc.) For example, in
more » ... ur research, we have documented our use of at least ten different human-centered methods across all the phases of software development [11] , almost all of which have impacts on programmer productivity. Why would one want to use these methods? Even though productivity may be hard to quantify, as discussed in many previous chapters of this book, it is indisputable that problems exist with the languages, APIs, and tools that programmers use, and we should strive to fix these problems. Further, there are more ways to understand productivity than just metrics. HCI methods can help better understand programmers' real requirements and problems, help design better ways to address those challenges, and then help evaluate whether the design actually works for programmers. Involving real programmers in these investigations reveals real data that makes it possible to identify and fix productivity bottlenecks.
doi:10.1007/978-1-4842-4221-6_13 fatcat:cbwst2fu6jejxjduxw2zw7cm6m