バージョン管理
コードを大胆に変える勇気をくれる仕組み。過去の状態がすべて残っているからだ。
バージョン管理システムは、変更の全履歴と、誰がなぜ変えたかを保存する。解決する問題は三つある。元に戻せること、互いに上書きせず並行して作業できること、そしてある行がなぜそうなっているのかを答えられること。三つ目が最も価値が高いことも多い。
系譜をたどると、1人しか1ファイルを編集できないロック方式に始まり、サーバーが真実を握る CVS や Subversion のような集中型を経て、すべてのクローンが完全なリポジトリになる Git や Mercurial のような分散型に至る。この転換でブランチが安くなり、短命なブランチとマージ前レビューという働き方そのものが形づくられた。