"One today is worth two tomorrows."
– Benjamin Franklin
The goal of empirical software engineering is to improve software processes and products through methodologically-sound examination of artifacts, behaviors, and techniques in the software process. Emphasis is placed on understanding and improving the software process by the examination of observable evidence rather than solely by intuition and experience. Observational studies, case studies, statistical analysis, interviews, surveys, and controlled experiments can all serve as vehicles for empirical software engineering.
We have conducted several empirical case studies assessing the impact and applicability of agile software development methodologies with software teams at IBM, Sabre Airline Solutions and Tekelec. To guide our case studies of Extreme Programming (XP) teams, Laurie Williams, Bill Krebs of IBM, and I created the Extreme Programming Evaluation Framework (XP-EF). The XP-EF is an empirically-based benchmark for evaluating the effects of adopting the Extreme Programming methodology. The XP-EF provides a framwork for collecting the context information of the study, metrics on XP usage, and business-related outcome measures such as quality and productivity.
I was fortunate enough to spend the summer of 2007 in Seattle as an intern at Microsoft Research working with Nachi Nagappan and Andy Begel. We worked with Microsoft product teams to investigate statistical fault prediction and to study effort estimation in a large-scale software project. We also studied inter- and intra-team coordination in a large scale, distributed software project.
View the list of my empirical software engineering publications.
Human-Computer Interaction in Software Development |
Computer Science Education |
Empirical Software Engineering |
Last modified Sunday, 24th August, 2008 @ 03:08pm
All content © 2002-2008 by Lucas Layman.