見出し画像

新機能と指数的爆発(仕事の心がけ)

バラバラに散らばった5%

ずいぶん以前(2016年1月)の話ですが、「Evernoteのユーザは、Evernoteが持っている機能の5%しか使っていない」という記事を読んだことがあります。

ここで言及されている5%問題というのは、Evernoteが持っている機能のうち5%しか使ってないユーザが多いという話です。もしも、その5%が全ユーザで共通なら、残りの95%は捨てることができ、メンテナンスのためのコストが削減できます。でも実際にはそうはいかなくて、どの5%を使っているかはユーザによって異なるとのこと。

新機能を入れないと困るが、入れても困る

この記事を読んだとき、サービス提供者は「新機能の追加」に慎重になるべきだろうな、と思いました。安易に新機能を追加して、その機能を使っているユーザが増えてしまうと、あとから「やっぱりこの機能は削除しよう」と思っても実行には移せません。使っているユーザからの反発を受けてしまうからです。

人が認識するのは微分であり、差分です。「いつもと同じです」と主張してもニュースにはならず、注目も浴びません。そこでどのサービスも定期的に「新機能が入りました!」と謳います。そうしないと、新規顧客を捕まえることもできず、既存顧客に飽きられてしまうからです。

うっかり新機能を入れるとメンテナンスにコストが掛かるようになる。
(つまりお金が出ていく)
でも定期的に新機能を入れないと顧客が増えない。
(つまりお金が入らない)

これは恐らく本質的に難しい問題なんだと思います。

新機能を入れるチャンスは危険なのかもしれない

サービスを立ち上げるときには、とにかく生き残らなければいけないから会社は必死です。しかし、リソースは足りないので新機能の追加には制約が強く掛かります。それはいかにももどかしく、苦しい足かせと感じるでしょうけれど、新機能は厳選して入れることになります。

運良くサービスが生き残ることができ、社内体制も整い、資金もリソースも確保できて「よーし」というときが来たとします。常識的に考えればこれはチャンスに見えますけれど、実は危険な徴候なのかもしれません。

リソースに余裕が出たことで、容易に(安易に)新機能が投入できます。一度入れた新機能は削除できないので、累積的にメンテナンスコストが掛かる。今年入れた新機能は来年には既存の機能になるけれど、コストはあいかわらず掛かるからです。

新機能を入れることによって人の注目を浴びる行為が「微分」に関わるとすれば、新機能を入れることによってコストが掛かり続ける現象は、「積分」に関わっているともいえますね。

要素が増えると組み合わせは指数関数的に増加する

一般的にいって、他の要素と関連する要素が増えると、組み合わせは指数関数的に増加します。一方リソースは一次関数的にしか増加しません。何も考えないと必ず破綻がやってきます。組み合わせの増加を防ぐためには、以下の方法くらいしかありません。

要素の増加をできるだけ防ぐ。
(新機能を追加しない。使わない機能を削除する)
要素同士の相互関係をできるだけ減らす。
(新機能が他の機能と相互作用しないようにする)

指数関数的な増加は「爆発」である

指数関数的な増加はしばしば指数関数的な「爆発」と表現されます。何かが1増えたら10倍になり、2増えたら100倍になる感覚は、まさに「爆発」と呼ぶのにふさわしいですね。その感覚を理解しておくことはとても重要です。

実は、指数関数的な爆発を起こすのは新機能に限りません。たとえば、構成するチームの人数でも同じことが起きます。素朴にフラットな組織で、全員が全員とコミュニケーションする必要が生じたら、人間が一人増えると、コミュニケーションは指数関数的に増加します。

ですから、コンピュータ科学者が組み合わせの数に注目するのは、本当に慧眼だと思います。組み合わせの場合の数は、要素数が増えると、指数関数的に増加するからです。

指数関数の逆関数が対数関数です。指数関数が爆発する関数だとすれば、対数関数は大きな数を手懐ける関数といえますね。

問題を抽象的に認識して解こう

サポートコストは「積分」で効くことは認識できるでしょうか。また、指数関数的な増加を「爆発」であると認識できるでしょうか。これができないと思いがけない問題に発展します。

問題を問題そのものとして解くことはもちろん大切ですが、問題をより抽象的に認識した上で解くというのも、決して忘れてはいけないことだと思います。

 * * *

以上、「仕事の心がけ」のコーナーでした。

なお、指数関数、対数関数、爆発と手懐けに関しては、拙著『プログラマの数学』でやさしく解説していますので、ぜひお読みください。これは専門的にコンピュータ科学を学んで来なかった方におすすめです。

 * * *

結城浩の「コミュニケーションの心がけ」2016年9月13日 Vol.233 より

結城浩はメールマガジンを毎週発行しています。あなたも購読してみませんか。

#結城浩 #仕事の心がけ #仕事 #指数的爆発 #新機能 #サポートコスト


いただいたサポートは、本やコンピュータを買い、さまざまなWebサービスに触れ、結城が知見を深める費用として感謝しつつ使わせていただきます! アマゾンに書評を書いてくださるのも大きなサポートになりますので、よろしくお願いします。 https://amzn.to/2GRquOl