practice
YOU MAY BE wondering, “Code review process? Isn’t
that obvious?” But code reviews are pervasive. Any
developer is likely to be asked at any time to review
someone else’s code. And you can be sure your code
is reviewed. For some developers, code reviews take
up a portion of each day. So there is your answer: large
numbers of very well-compensated people spend
a great deal of time on this activity, meaning the
aggregate costs are substantial. If you’re talking about
a development shop the size of, say, Microsoft … well,
then, the investment regularly made in code reviews
can amount to something quite im-
pressive indeed.
That is only one of the reasons that
Jacek Czerwonka and his Tools for
Software Engineers (TSE) team at Mi-
crosoft set out to study how the code-
review process plays out across the
company. Another reason had to do
with taking on a challenge they found
interesting in the sense that, beyond
their important role in software engi-
neering integration, code reviews in-
volve some rather complex social dy-
namics that elude simple modeling.
Then there also was the fact that
Microsoft’s code-review tool repre-
sented an opportunity to touch every
developer throughout the entire com-
pany. For a group charged with boost-
ing developer productivity, that is just
the sort of lever dreams are made of.
What’s more, the tool also offered
TSE’s researchers something they
could instrument to collect data and
generate metrics that, in turn, could
be used to enable further research.
So, that is why the group set out on
this journey. To recount what it was
like, where it led, and what was learned
along the way, Czerwonka discusses
the undertaking here, along with fellow researchers Michaela Greiler and
Christian Bird. Also on hand to help
steer the discussion are Lucas Panjer,
the senior director of engineering at
Tasktop, and Terry Coatta, the CTO at
Marine Learning Systems, a Vancou-ver-based startup working to develop
a learning platform.
LUCAS PANJER: What exactly is it that
initially moved you to zero in on the
code-review process?
JACEK CZERWONKA: This group was
formed several years ago with the goal
of encouraging the adoption of a common set of software engineering tools
across the whole of Microsoft. We have
been on this path for a while now. We
are not done yet. But there are a few
places where we’ve managed to centralize the tools quickly, and one of
those is in code-review tooling.
Clearly, in looking at that aspect
of the engineering workflow, we saw
CodeFlow:
Improving
the Code
Review
Process at
Microsoft
DOI: 10.1145/3287289
Article development led by
queue.acm.org
A discussion with Jacek Czerwonka,
Michaela Greiler, Christian Bird,
Lucas Panjer, and Terry Coatta