優秀なプログラマは取替えが利く?優秀なプログラマは取替えが利く?2007/12/11恐ろしく優秀な職業プログラマは取替えが利くのではないか?と思いました。優秀な職業プログラマは、自分のやっている事をきっちりドキュメント化します。そのドキュメントは非常に読みやすく、内容に漏れが無いため、新しく入ってきたプロジェクトメンバはスムーズに開発に取り掛かれます。優秀な職業プログラマは、誰でも実行できる形式でテストコードを大量に書いています。そのため、何かを変更して予期しないバグが入り込んでも発見が早くなります。テストコードを皆で共有する体制を作ってあるので、作ったものの堅牢性を新しく入ってきたプロジェクトメンバが確認することも出来ます。優秀な職業プログラマは、他のメンバにソフトウェアの設計思想を正しく伝えてあります。そのため、自分が行っている開発箇所を他人に委譲することも容易に可能です。優秀な職業プログラマは、良く知られているデザインパターンを適切な箇所で利用できます。そのため、コードの中身はあまりトリッキーにならず、他人がデバッグすることも容易になります。優秀な職業プログラマは、コード内に適切な量のコメントを書き込んでいます。必要に応じてコメント内容もUpdateしてあり、コメントとコードが乖離していることもありません。そのため、全く違うバグを追っている人が、優秀なプログラマが書いたコードに入り込んでもデバッグを継続することができます。上記理由により、優秀な職業プログラマは自分がいなくなってもプロジェクト全体が絶望的に破綻しないような仕組みを構築してあると思われます。優秀なプログラマが減った事による進行の遅れは発生します。他人が理解できるような仕組みがあらかじめ構築されているので、落下傘部隊を投入する事も可能な現場になっています。注意しなくてはならないのは、「優秀なプログラマの取替えが利く」という表現が真になるのは、「優秀なプログラマがある程度関わって、途中まで作業をしたプロジェクトに限定される」事です。新しいプロジェクトが発生したときには、取替え要員は「優秀なプログラマ」の代わりにはなり得ないかも知れません。以上、頭の中を最大限お花畑にして妄想してみました。