品質のツマミを常に最大にする

enk
·

「チームでのソフトウェアエンジニアリング」の話です。(つまり、僕がいつもやってることの話)

結局、品質のツマミを常に最大にすることが、成果(スピード)と成長(学習)のバランスのスイートスポットに到達するための方法なんだろうな。

「どうやってバランスを取るか」という思考は、どうしても苦しい。特に、本質的にはトレードオフでないはずのもののバランスを考えるのは、混乱する。

(短期的な)成果も、学習も、長期的な成果のためにあるはず。なのに、なぜ、苦しくなってしまうのか。どちらを取れば長期的な成果が最大になるのか、わからなくなってしまうからだ。

その答えが「品質」なのだと思う。いついかなるときも、自分(たち)にできる最高品質を追求する。そうすれば、自ずと成果と学習の総合は最大限になる(ように思われる)。

正確には、少し妥協した場合に比べると、短期的な成果は「少し減る」だろう。なぜなら、自分(たち)にできる最高品質とは、チームの中で最もできるエンジニアの最高品質と、それ以外のエンジニアの最高品質よりも少し上、を掛け合わせたものだからだ。

この「よりも少し上」がポイントで、ここを妥協すれば、短期的な成果は最大になる。「少し上」にするのは、チームとして余分の労力をかけることになるから。

しかし、誰もが妥協せず、特に、チームの中で最もできるエンジニアが徹底的に妥協せず、他のエンジニアを励まし、基準を高め続けたとき、成長が最大化される。品質も高まる。そして、成長と品質が高まった結果、長期的な成果は最大化される。

たぶん、そういうことだ。

ということが、たぶんこの記事にも書いてある。

以前一度読んだことがあったけど、今回深く考えてみて、ようやくわかったような気がする。