|
Common Codebase
A common codebase is, simply, shared by as many programmers on the team as possible. This is
only practical if the team is using test-first programming, refactoring, continuous integration,
and a single coding standard. It is also greatly assisted by pair programming.
So what are the benefits of sharing the codebase? Its proponents claim that, as with pairing,
sharing the codebase reduces management's overall vulnerability to staff turnover, and makes it
easier to deploy staff. If everybody more or less knows what is going on in all of the codebase,
then you have more flexibility when figuring out who will do what in the next iteration. And if
someone leaves the team, it is much less of a crisis; other team members can fill the gap pretty
straightforwardly.
Other, perhaps more compelling benefits of sharing the codebase include simpler, better
overall design, more design consistency, and better mentoring of programmers. All of these
things, again, help make the code more extensible and the team more Agile. They help the team
deliver more running, tested features per iteration, and deliver them more consistently, with
least risk. |