(本記事は、中島聡氏の著書『なぜ、あなたの仕事は終わらないのか』文響社の中から一部を抜粋・編集しています)

スマホアプリはなぜアップデートを繰り返すのか

パソコン,バグ
(画像=Denis Belyaevskiy/Shutterstock.com)

「仕事のスピードを追求したら質が落ちてしまう。それじゃだめだ」

そう思われている方もいると思います。たしかに速さを求めると質は落ちます。大抵の仕事がそうであるように、スピードと質はトレードオフ(片方を取るともう一方は取れない)です。質の悪いものを出さないようにじっくり時間をかけて、時には徹夜で頑張る人もいるでしょう。

けれども質を追求した結果、締め切りに間に合わないような仕事の仕方をしていては本末転倒です。締め切りに間に合うことが明らかな状況であれば、質を高めるために時間を使うのは間違っていません。問題なのは、まだ仕事が終わる見通しが立ってもいないのに、質を高めるためにあれこれ工夫を凝らそうとすることです。

みなさんが普段使っているスマートフォンのアプリを例に挙げて考えてみましょう。

アプリは一度配信が開始されても、その後幾度もアップデートを繰り返します。新しいアップデートの通知が何件も溜まっていく光景を誰でも一度は見たことがあるはずです。

あのアップデートはなぜ何回も繰り返し行われているのでしょうか?

答えは、配信が開始された段階では100%の出来ではなかったからです。

「未完成品を売っているのか!」

そう思われたでしょうか? しかし想像してみてください。最初から100%の出来のものを作るなんて、可能でしょうか? 大抵の仕事は、終わった時は満足のいくものだったとしても、時間が経つと修正したくなったりするものではないでしょうか?

あなたの仕事だってそういうことがあったはずです。あのミーティングの日、話が終わった直後はなかなかいい仕事をしたと思ったことでしょう。

けれども翌日、ミーティングの内容を報告書にまとめている最中に「あれ、これで大丈夫かな……」と不安になってしまうのです。ほかにもあのプレゼンの前日、リハーサルが終わった時には「これでいける!」と思ったことでしょう。

けれどもプレゼン当日、たくさんの人の前で発表している最中にどんどん不安になっていきます。

仕事とはそういうものです。どんなに頑張って100%のものを作っても、振り返ればそれは100%ではなく90%や80%のものに見えてしまうのです。言い換えれば、100%のものを作ることは、そんなに簡単にできることではないのです。

だから世の中のアプリ開発者は、配信後も長い時間をかけてアップデートを繰り返し、少しでもいいものが提供できるように努力しているのです。

つまり最初から100%の仕事をしようとしても、ほぼ間違いなく徒労に終わるわけです。なぜなら後から再チェックすると、直すべき箇所が次々に見つかっていくからです。

もちろん、仕事のクオリティを上げるために時間を費やすのは間違ったことではありません。適当な仕事を繰り返していては上司からの評価も下がります。

けれども時間を費やすあまり締め切りギリギリになったり、あるいは締め切りを破ってしまったりしては上司からの評価はもっと下がります。

クオリティが低くて怒られることよりも、締め切りを守れずに「時間を守れない人だ」という評価をされることを恐れてください。

3500個のバグがあっても世界は変わる

「兵は拙速を尊ぶ」という言葉があります。これは孫子の『兵法』から派生した言葉だと言われています(ただ、それを否定する説もあり、何の書物が正統な起源なのかは詳しくわかっていません)。

この言葉は、一般には「拙い戦法でも素早く進軍したほうが戦いに勝つという」意味で浸透しています。転じて、「仕事は最初のうちに迅速に終わらせると良い」という意味にもなっています。

私はマイクロソフトでWindows95の開発をしていました。マイクロソフトでは仕事ごとに必ず締め切りがあり、なおかつ製品(Windows95)の発売予定日も決定していたので、決められた仕事は必ず期限内に終わらせる必要がありました。

私はWindows95を予定通りに発売するために、全力で仕事をしました。その結果、きちんと1995年8月24日に発売されました。

しかし発売当時、Windows95には約3500個のバグが残っていました。私たちはそれを知っていましたが、そのまま発売することになりました。

もちろんバグは修正することができます。だから先ほど紹介したように、スマホアプリの開発者はいつもバグの修正に奮闘しているわけです。

けれどもそのバグの数は、ある臨界点に達するともうそれ以上減らないということがプログラマの世界では知られています。なぜなら、あるバグを直すとその副作用でほかのところでバグが発生するからです。

つまりソフトウェアのバグというのは、完全に0にすることはできないのです。

それゆえプログラマたちは、100点じゃなくてもいいので90点や80点のプログラムを必ず納期に提出することが求められています。「兵は拙速を尊ぶ」という言葉は仕事にもまさに当てはまるのです。

Windows95はそういう理由から、3500個のバグを残したまま製品化されました。といっても、深刻なバグはもちろんちゃんと修正してあります。

たとえばセーブしたはずのファイルが勝手に消えるといったバグを残してしまっては、使い物になりません。だからそういったものはちゃんと検証して除去しています。

ただ、ユーザーが通常の使用をする中では発生しないような細かいバグは修正しませんでした。たとえば一般のユーザーが絶対に知らないような特殊なコマンドを入力すると画面が消えてしまうなどです。

そういったものまで完璧に除去しようとすると、無限に時間がかかります。それでは発売予定に間に合いません。

それでもご存知のように、Windows95は世界に大きなインパクトを与えました。恐らくWindows95は、細かいプログラムの知識を持っている専門家にとってはたいへんな手抜き作に見えたことでしょう。

しかし大事なのは、一般のお客さんにとってどれだけいいものを素早く提供できるかです。バグの修正は発売後にもできますから、そこは許容範囲を見極め、割り切ってしまうべきです。

なぜ、あなたの仕事は終わらないのか
中島聡(なかじま・さとし)
早稲田大学高等学院、早稲田大学大学院理工学研究科修了。高校時代からパソコン系雑誌『週刊アスキー』において記事執筆やソフトウェアの開発に携わり、大学時代には世界初のパソコン用CADソフト「CANDY」を開発。1985年に大学院を卒業しNTTの研究所に入所し、1986年にマイクロソフトの日本法人に転職。1989年には米国マイクロソフト本社に移り、Windows95、Internet Explorer3.0/4.0、Windows98のソフトウェア・アーキテクトを務め、ビル・ゲイツの薫陶を受ける。2000年に米マイクロソフトを退社し、ソフトウェア会社のUIEvolutionを設立してCEOに就任、現在に至る。

※画像をクリックするとAmazonに飛びます