Kentaro Kuribayashi's blog

Software Engineering, Management, Books, and Daily Journal.

リリースの高速化はWebサービス企業にとって最重要である

インターネットを眺めていたら、リリースの高速化自体を目的化するのではなく、ビジネス成果によって成否を判断するべきだという主張があったので、思うところを書いておく。起点は他社さんにおける議論だが、そこは問題ではなくて、もし自分の関わるところでそういう議論が起こったら、自社の技術に対してそれなりのポジションにおいて関係する人間としてどのように考えるべきだろうかという視点で述べる。

リリースあるいはリリースの高速化自体を目的化するのではなく、その結果としてのビジネス的成果が大事だということは、マネジメントにとっては当たり前なわけで、いちいちいうまでもないことだろう。そもそも、サービスが圧倒的に成長し続けていれば、リリース頻度 = 成果になるはずだ。現状そうでないのであれば、成長速度が遅いということになる。エンジニアが技術を尽くしてリリース速度を向上させたにも関わらずそれが成果に結びつかないとしたら、そこにこそマネジメントの課題がある。

つまり、リリースあるいはリリースの高速化が目的化するなんてことは問題ではない。リリース頻度は多ければ多いほうがいいに決まっている。そのためには、技術を尽くして高速化するべきだ。その上で、その結果としてのリリース頻度の向上が、そのままストレートに成果につながらないことが問題である。そしてそれは、マネジメントの問題だ。リリースの自己目的化を問題視するのは、その意味で、視点がズレているように思える。

リリース頻度を高めることは、我々Webサービス企業にとっては、至上の目標である。なぜなら、不確実な将来に対してはそれ以外に根本的な方法がないからだ(技術的な観点からの将来予測については「「「技術的負債」を問いなおす」というタイトルでJAWS DAYS 2014で話してきた #jawsdays」で述べた)。リリースあるいはその速度自体が目的でないのは当然であるが、真の問題は、向上したリリースのひとつひとつを成果に結び付けられる状況を作り出せるかどうかである。

リリースあるいはその速度を目的化してはならない、大事なのはビジネス成果であるという話は一見もっともらしいが、先述の通りマネジメントにおいては当たり前なことなので意味のある議論ではないし、非ビジネス従事者に対しては威嚇的効果しかないだろう。リリースがいかに速く、多量に行われるか、そしてそれらのリリースが自然と成果に結びつく状況を作り出すことこそが、マネジメントの本質的な課題だろうと思う。

…ということを、自身の問題として、あらためて認識する機会を得られた。念のため付記しておくと、「自身の問題」としてというのは、「俺たちエンジニアががんばってるのにマネジメントがそれを活かしていない」なんてことをいう立場ではないし、そんなことを思ってもいないということである。

というわけで、コードを速く書けるようになってリリースを高速化したいみなさんに朗報です。以下の書籍を読むと、コードを速く書けるようになるそうです。是非お買い求めの上、お読みください。

オブジェクト指向入門 第2版 方法論・実践 (IT Architects’Archive CLASSIC MODER)

オブジェクト指向入門 第2版 方法論・実践 (IT Architects’Archive CLASSIC MODER)