05.03.17 - 08.03.17, Seminar 17102

Rethinking Productivity in Software Engineering

Diese Seminarbeschreibung wurde vor dem Seminar auf unseren Webseiten veröffentlicht und bei der Einladung zum Seminar verwendet.

Motivation

There is an ever-growing demand of software being built and a shortage of software developers to satisfy this demand, despite the immense growth in the number of professional software developers. To address this demand, industry and research are looking into understanding and improving the productivity of individual software developers as well as teams. A substantial amount of research has examined the meaning of software productivity over the past four decades. Much of this research introduces particular definitions of productivity, considers organizational issues associated with productivity, or is focused on specific tools and approaches for improving productivity. In fact, many of the seminal works on software productivity are from the 80s and 90s (Peopleware, Mythical Man-Month, Personal Software Process).

At the same time, software development has changed significantly over the past decades with the rise of agile development, distributed development, more rapid release cycles and the high fragmentation of today’s work. At the same time the technology available to software engineers has improved with social coding tools like GitHub and StackOverflow and better IDEs. Furthermore, research communities, in particular the HCI and CSCW communities, have made significant advances in supporting knowledge workers to become more productive that one might be able to also transfer to software engineers.

The goal of this Dagstuhl Seminar is to bring together researchers and practitioners with backgrounds in Software Engineering, Human Computer Interaction, and Computer-Supported Collaborative Work to rethink, discuss, and address open issues of productivity in software development and how to measure and foster productive behavior of software developers.

Specifically, we will focus on some of the following questions:


  • How do software developers work? How is their work structured?
  • How similar are software developers to other knowledge workers like doctors, lawyers, inventors, teachers, financial analysts and architects? Do insights about these groups apply to software engineers?
  • How to measure software development and software development work?
  • What are the biggest impediments on productivity of software developers?
  • What are the different aspects of productivity in software development, individual vs team vs product vs organizational productivity?
  • How does work fragmentation correlate to productivity of software developers?
  • Are there general models of productivity across developers? Can we automatically infer high-productivity phases of software developers?
  • Can we learn patterns from highly productive developers and suggest the patterns to other developers?

In the seminar, we will summarize the current state of the art of software productivity that can inform practitioners and then identify opportunities for future research, which we will capture in a roadmap document.

License
Creative Commons BY 3.0 Unported license
Thomas Fritz, Gloria Mark, Gail C. Murphy, and Thomas Zimmermann