In the previous chapter, we looked at the risks and costs of fragmented development efforts. We also created a knowledge map to serve as a communication and planning aid. In this chapter, we’ll build on that information by introducing the concept of code churn.
Code churn is a measure that tells us the rate at which our code evolves. By analyzing code churn, we can identify fluctuating parts of our codebase. This lets us predict both post-release defects and unstable feature areas.
You’ll also see how code churn lets you reverse-engineer your team’s coding process. That information lets you evaluate your development practices and investigate your potential process loss. As always, let’s start with a war story.