In the previous chapter, you learned about social biases and how they affect group decisions and interactions with other developers. We also discussed the idea that the social aspects of software development are just as important as the technical ones. Now you’ll see what that means in practice.
We’ll start by revisiting the classic software “laws” of Brooks and Conway to see how they fare against modern research. Based on those findings, we’ll introduce organizational metrics that let us analyze the quality of our code from the team’s perspective. You’ll also learn to use hotspots and temporal coupling to evaluate how well your team organization aligns with the way you work with the code. Let’s start with a story of a doomed software project.