アーキテクチャ
ソフトウェア品質

スタートアップでもソフトウェアの品質が優先か?

次の記事

Yahoo取締役会、Verizonの48億ドル買収提案に同意との報道

今週私はSusa VenturesのLeo Polovetsによる「 Why Startup Technical Diligence Is A Waste Of Time.(なぜスタートアップの技術的勤勉さは時間の無駄なのか) 」という挑発的なタイトルの魅力的な記事と出会った。この記事をあなたも読むべきだが、その中心となる主張は単純である:「SaaSツールやAPI、そしてクラウド基盤が充実している現在の世界では…技術リソースによって成功が左右されることはほとんどない」。この主張は正しいだろうか?もちろん!しかし、同時に間違いでもある。

この世でもっとも美しく、エレガントで、パワフルなソフトウェアだったとしても、もし「製品と市場のマッチング(product-market fit)」に失敗したら成功することはできない。(もし、業界の独特な言い回しが気に入らない場合にはポール・グレアムの言い回しを使ってみよう:「人々が求めるものを作れ」)。現実的なビジネスモデルを持っていなければ、あなたの作るソフトウェアが成功することはない(「人々が強く求め、それに対してお金を払うものを作れ」と言い換えても良い)。そして、誰もあなたの製品を薦められることなく、耳にすることもなければやはり成功は覚束ない(すなわち、セールス/マーケティングの失敗)。

そして、もしそれらのハードルをなんとか乗り越えられたとき、ビジネスが成功するか失敗するかをソフトウェアの品質が握る分岐点にあなたは立つことになるのだ。私はソフトウェアコンサルテーション会社のHappyFunCorp のエンジニア(兼マネージャ、兼代表者、兼何でも屋)であるが、こうしたことは毎日たくさん見ている。スタートアップ企業たちがしばしば「スタートアップソフトウェア品質問題」を持ち込んでくるからだ。

スタートアップソフトウェア品質問題とは次のようなものである。あるスタートアップが「最小限の実行可能な製品」をなんとか構築して、公開さえできたとしよう。それも、たった一人の技術担当共同創業者そして/またはどこかにある安い開発会社のおかげで。それを立ち上げ、実際の人たちが本当に利用するやり方を見て、素早く強みを増強し弱みを修正しようとする、あるいは構築したものの新しい切り口に向かおうとするかもしれない − そしてそれが不可能だということに気がつく、なぜなら彼らは泥沼に足を取られてしまっているからだ。

アーキテクチャが貧困で、プログラムの記述も不確か、そして多大な技術的負債に溢れたソフトウェアが体現するもの、それがここで言う泥沼である。それはしばしば止まり、再現させることが難しいバグまみれで、利用者、開発者、そして共同創業者たちにもフラストレーションを与える代物である。

バグの修正には何時間も何日もかかり、修正や機能の変更には数日から丸々1週間を費やし、この停滞が速く仕事を進めたいと思う他の関係者を足止めし、あなたは技術的負債を解消する時間を取ることもできず、痛みが悪化するだけという悪循環に陥る。言うまでもないが、この悪循環はしばしば死のスパイラルになり得る。

最初の「最小限の実行可能な製品」は完璧にエレガントでスケーラブルであることはなく、またその必要もないというのは事実だ。しかし、もしそれが泥沼ソフトウェアで、あなたが人々が望むものを構築仕損なっていた場合には、対応はとても困難で遅々として進まず、目標を変えるのも高価についてしまうのだ。一方高品質のソフトウェアを持つ競争相手や新規参入者たちは次々と素早く取捨選択を進めていける。

もし仮に、人々が真に欲しがっているものを構築できていたとしても、あなたが新しいエンジニアを雇い全てのコードベースを書き直している間に、高品質ソフトウェアを持つ競争相手たちは同じ時間をあなたを打ち負かすために使うことができる。泥沼ソフトウェアの方向転換はあまりにも困難であるため、完全なゼロから書き直した方が、その一部を再利用しようとするよりも優れた選択肢であるという事態にしばしば直面する。言うまでもなく、何百時間もの労力と何千ドルもの資金をこの泥沼の構築に費やしてきた創業者たちは、こんなことは聞きたくもないだろう。

ソフトウェアの品質があなたの成功を決定付ける訳ではない。それは真実だ。しかし、それはあなたの速度を決定付ける。もし競争相手が全くいないなら、速度が遅いことには何の問題もない。しかし、もし全く競争相手がいない世界に住んでいるとあなたが思っているなら、痛みを伴う目覚めが待っている。動きと対応が遅ければ遅いほど、あなたのスタートアップはより早く死んでしまうことがあり得る。

Polovetsが指摘するように、人々の求める製品を作ることが最重要であることは間違いない(そしてそれを「アイデア」と「タイミング」の間に割り振っていくことができるのだ)。セールスはおそらくその次だ。ソフトウェアがあなたのスタートアップの命運を握る心肺ではない場合もあるかもしれないが、それでもあなたの息の根を止めることができる重要な臓器なのである。その場合はさらに悪いことに、病気はゆっくりと進行する。それも微妙に、長い闘病生活経ても、おそらくあなたはそれが近因であったことを認識しないままだろう。後で心配すれば良いからと、適当に片付けてはならない。それをやがてひどく後悔することは確実である。

[ 原文へ ]
(翻訳:Sako)