Rethinking Productivity in Software Engineering by Caitlin Sadowski & Thomas Zimmermann
Author:Caitlin Sadowski & Thomas Zimmermann
Language: eng
Format: epub, pdf
ISBN: 9781484242216
Publisher: Apress
No matter what kind of intervention it is, the creator might want to evaluate how well programmers can use it and whether it actually improves productivity in practice. For example, our observations about backtracking difficulties motivated us to create Azurite, a plug-in for the Eclipse code editor that provides more flexible selective undo, in which developers can undo past edits without necessarily undoing more recent ones [19]. But how can we know if the new intervention can actually be used? There are three main methods we have used to evaluate interventions: expert analyses, think-aloud usability evaluations, and formal A/B testing .
In expert analyses, people who are experienced with usability methods perform the analysis by inspection. For example, heuristic evaluation [13] employs ten guidelines to evaluate an interface. We used this method to evaluate some APIs and found that the really long function names violated the guideline of error prevention because the names could be easily confused with each other, wasting the programmer’s time [12]. Another expert-analysis method is called cognitive walkthrough [8]. It involves carefully going through tasks using the interface and noting where users will need new knowledge to be able to take the next step. Using both of these methods, we helped a company iteratively improve a developer tool [3].
Another set of methods is empirical and involves testing the interventions with the target users. The first result of these evaluations is an understanding of what participants actually do, to see how the intervention works. In addition, we recommend using a think-aloud study [2], in which the participants continuously articulate their goals, confusion, and other thoughts. This provides the experimenter with rich data about why users perform the way they do so problems can be found and fixed. As with other usability evaluations, the principle is that if one participant has a problem, others will likely have it too, so it should be fixed if possible. Research shows that a few representative users can find a great percentage of the problems [14]. In our research, when we have evidence of usefulness from early needs analysis through CI and surveys, it is often sufficient to show usability of tools through think-alouds with five or six people. However, the evaluations should not involve participants who are associated with the tool because they will know too much about how the tool should work.
Unlike expert analyses and think-aloud usability evaluations, which are informal, A/B testing uses formal, statistically valid experiments [6]. This is the key way to demonstrate that one intervention is better than another, or better than the status quo, with respect to some measure. For example, we tested our Azurite plugin for selective undo in Eclipse against using regular Eclipse, and developers using Azurite were twice as fast [19]. Such formal measures can be useful proxies for the productivity gains that an intervention might bring. The resulting numbers might also help convince developers and managers to try new interventions and change developers’ behaviors because they might find having numbers more persuasive than just the creator’s claims about the intervention.
Download
Rethinking Productivity in Software Engineering by Caitlin Sadowski & Thomas Zimmermann.pdf
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Implementing Enterprise Observability for Success by Manisha Agrawal and Karun Krishnannair(7409)
Supercharging Productivity with Trello by Brittany Joiner(6670)
Mastering Tableau 2023 - Fourth Edition by Marleen Meier(6437)
Secrets of the JavaScript Ninja by John Resig Bear Bibeault(6424)
Inkscape by Example by István Szép(6288)
Visualize Complex Processes with Microsoft Visio by David J Parker & Šenaj Lelić(5982)
Build Stunning Real-time VFX with Unreal Engine 5 by Hrishikesh Andurlekar(4986)
Design Made Easy with Inkscape by Christopher Rogers(4641)
Customizing Microsoft Teams by Gopi Kondameda(4179)
Linux Device Driver Development Cookbook by Rodolfo Giometti(3939)
Extending Microsoft Power Apps with Power Apps Component Framework by Danish Naglekar(3768)
Business Intelligence Career Master Plan by Eduardo Chavez & Danny Moncada(3762)
Salesforce Platform Enterprise Architecture - Fourth Edition by Andrew Fawcett(3645)
Pandas Cookbook by Theodore Petrou(3620)
The Tableau Workshop by Sumit Gupta Sylvester Pinto Shweta Sankhe-Savale JC Gillet and Kenneth Michael Cherven(3420)
TCP IP by Todd Lammle(2994)
Drawing Shortcuts: Developing Quick Drawing Skills Using Today's Technology by Leggitt Jim(2924)
Exploring Microsoft Excel's Hidden Treasures by David Ringstrom(2889)
Applied Predictive Modeling by Max Kuhn & Kjell Johnson(2884)
