  In this paper, we present the findings from a survey study to investigate how
developers and managers define and trade-off developer productivity and
software quality (two related lenses into software development). We found that
developers and managers, as cohorts, are not well aligned in their views of
what it means to be productive (developers think of productivity in terms of
activity, while more managers think of productivity in terms of performance).
We also found that developers are not accurate at predicting their managers'
views of productivity. In terms of quality, we found that individual developers
and managers have quite varied views of what quality means to them, but as
cohorts they are closely aligned in their different views, with the majority in
both groups defining quality in terms of robustness. Over half of the
developers and managers reported that quality can be traded for higher
productivity and why this trade-off can be justified, while one third consider
quality as a necessary part of productivity that cannot be traded. We also
present a new descriptive framework for quality, TRUCE, that we synthesize from
the survey responses. We call for more discussion between developers and
managers about what they each consider as important software quality
attributes, and to have open debate about how software quality relates to
developer productivity and what trade-offs should or should not be made.
