日本経済新聞社

記事利用について
印刷 印刷

技術戦略に大切な「不具合と共存」する発想
栄藤稔・NTTドコモ執行役員

2013/7/20 7:00
ニュースソース
日本経済新聞 電子版

「本当にもうバグは出ないですね? これで絶対に安全ですね?」と質問されると戸惑う。なぜなら、理論的にそれを証明する方法がないから。

1985年広島大院修了、松下電器産業(現パナソニック)入社。国際電気通信基礎技術研究所(ATR)や大阪大、NTTドコモのシリコンバレー拠点を経て現職。NTTドコモ執行役員としてR&D戦略を担当

1985年広島大院修了、松下電器産業(現パナソニック)入社。国際電気通信基礎技術研究所(ATR)や大阪大、NTTドコモのシリコンバレー拠点を経て現職。NTTドコモ執行役員としてR&D戦略を担当

技術系ではない方には、バグという言葉を「人事制度や経理制度の抜け穴」と言い換えると、質問の厳しさが分かってもらえると思う。「君が提案する給与制度は完璧だよね?」と尋ねられて即座に「はい」と言えるだろうか。

ソフトウエア開発者でなくても「バグ(虫)」という言葉をご存じだろう。コンピューターを動作させるプログラムの不具合のことである。このバグ、ソフトウエア開発では少なくとも「ハイゼンバグ」と「ボーアバグ」という2種類が区別されている。

ハイゼンバグはまれな条件の組み合わせ、時には想定外の状況でのみ発生するバグである。その発生源を特定しようとしてもできないことから、量子力学における不確定性原理の提唱者、ハイゼンベルクの名前をもじってつけられている。ボーアバグは量子力学の先駆者、ボーアの名前をもじったバグで、再現性があり特定が容易である。

車の不具合を例にして両者の違いを説明したい。走行中、エンジンルームから異音がしている。ボンネットを開けたら、ある部品のボルトが抜け落ちていた。これがボーアバグ。

走行中、ある速度で時々異音がする。ボンネットを開けるため車を止めようとすると異音はやんでしまう。どうもどこかの部品2つが共振しているようだが、どれだか分からない。これが簡単なハイゼンバグ。ボーアバグは直せるが、ハイゼンバグは見つけるだけでもひと苦労だ。

一般的にバグの根治は難しく、部品一つの単体試験では見つからないことが多い。難しいと言ってもバグは瑕疵(かし)であり、基幹サービスでは考えられるあらゆる条件を想定し、あらゆる部品の組み合わせで、試験に試験を重ねる。特に電気通信事業のネットワークインフラの開発はバグ根治への挑戦でもある。

一方で、インターネット企業の開発手法は「バグと共存」する方向に進んでいる。バグは潰すものだが、ハイゼンバグのようなバグはどこかに潜む。そこでバグがあってもサービスが継続できればよいと考える。そのために、サービス全体と個々のシステムの障害を検知し回復することに重点を置く。そしてソフトウエア更新をこまめに行う逐次開発を組み合わせる。障害が出れば手直しする。

このアプローチは、ムリ、ムダを排してソフトウエア開発を行うことから(スリムという意味で)「リーン開発」と呼ばれる手法にも通じている。驚かれるかもしれないが、この発想のオリジナルはトヨタ生産方式である。

トヨタの現場では何か不具合があれば、アンドンを引いて車の生産ラインを止めて手直しする。生産活動を継続するためにラインを止める。まさに逆転の発想だ。

近年、この逆転の発想をさらに進化させた例が出てきた。ネットフリックスというビデオオンデマンドサービスを提供する米国の会社は、クラウド上のシステムにわざと障害を起こすツールを昨年公開した。

彼らは一部のサーバが障害に見舞われたとしても、全体としてサービスが継続するシステム検証用にそれを作ったのだが、実際には本サービスを運用中にこれらを適用し、内部にシステム障害を意図的に発生させている。それでもサービスは継続できている。これが可能になったのは柔軟なシステム冗長性を提供できる近年のクラウド技術の進展によるところが大きい。

「不具合と共存する」ことは今後大きな技術トレンドになると思う。それはソフトウエア開発だけでなく、社会システムの設計にも生かされるのではないか。そのときの質問は「サービスは止まりませんね?」であり、答えは「はい」である。

[日経産業新聞2013年7月18日付]

 この連載は変革期を迎えたデジタル社会の今を知るためのキーパーソンによる寄稿です。ツイッター日本法人代表の近藤正晃ジェームス氏、ネットイヤーグループ社長の石黒不二代氏、KDDI研究所会長の安田豊氏、LINE社長の森川亮氏、ライフネット生命社長の岩瀬大輔氏、NTTドコモ執行役員の栄藤稔氏らが持ち回りで執筆しています。(週1回程度で随時掲載)

本サービスに関する知的財産権その他一切の権利は、日本経済新聞社またはその情報提供者に帰属します。また、本サービスに掲載の記事・写真等の無断複製・転載を禁じます。