決断力の養い方
なにかのオーナーになり、オーナーシップを養うことで、決断力も養われる。
盆栽や庭いじりで、「この枝、切るか切らないか」という決断はそのオーナーだけのものであり、このことに自覚的であるのがオーナーシップのスタートであると思う。
ソフトウェア開発に場を移せば、「この変数、名前を変えるか変えないか」を決断するのはその変数のオーナーであり、関数には関数のオーナーがあり、クラス、ファイル、ディレクトリ、レポジトリ、機能、サービスと、範囲は広がり、その先にプロダクトのオーナー、事業のオーナー、会社のオーナーなどが延長線上にある。結局はどのオーナーも「この枝、切るか切らないか」の枝が何なのかという違いしかない。決断ができるのはその枝のオーナーだからであり、オーナーであることの自覚と覚悟みたいなものがオーナーシップと呼ばれるものだと思われる。はじめの「盆栽」というたとえのキモは、切った枝は元に戻らないということである。ソースコードは変更してもすぐに戻せるので決断のリスクは小さいが、大きく複雑な「盆栽」になるほど枝を切ることには不可逆的な変化がつきものになる。そのプレッシャーに耐えるために必要なのが決断力というやつだろう。
裏返せば、まず自分がオーナーじゃないものにオーナーシップを持つことはできないし、決断することもできない。決断力を養いたいのなら、まずは何かのオーナーになることから始めないといけない。趣味で作るアプリケーションのオーナーでもいいし、小さなOSSライブラリを作ってオーナーになるのもいい。そこで自分が決断するしかない問題があらわれ、決断する経験を繰り返していけば、もっと大きなもののオーナーになったときにも決断し、オーナーシップを発揮できるようになるのではないか。
決断力を養うのに必要なのはひとりひとりの盆栽や庭であり、枝をどうするかを自分で考えて決めること。これを育成しようとするなら、大きすぎない範囲のオーナーを移譲して、オーナーであることの自覚と決断の経験を積ませるのがよいのではなかろうか。