最近、
プログラミングファースト開発
http://d.hatena.ne.jp/higayasuo/20080501/1209636051
っていうのが、話題なそうな(もう、2、3日古いか ^^;)
で、まえに土日シリーズで、失われた20年-ソフト業界は変わったのか?っていうので、業界の歴史をかいていた。
そのなかで、最後の2003年あたりからは、とーぜん、手薄になっていたので(現在進行中で歴史ではないので)、今回この、 「プログラミングファースト開発」のもととなったアジャイル開発がでてきて、それに致命的な問題が出て、SaaSになって、クラウドにいった、2003~2008あたりの歴史について、何回かに分けて、点描してみたいと思います。
つまり、「失われた20年のつづき」です。
なお、このブログは、あくまでも独断と偏見です。見たかが違うひとが大多数だと思います。
ま、そーいう人は無視してください。不快にさせてごめんなさい。
でも、これを読んで、「そうそう!」と思う人(たぶん、そういう人はこの業界に対する閉塞感を感じていたり、うつ病になりそうだったり。。と思うけど)は、このシリーズを読んで、「!」と思ってくれるんじゃないかなあ・・・なーんて、甘い期待をしたりする。。。
■ベンチャーで自社開発なら、プログラミングファーストやアジャイルは成功する
今回、プログラミングファースト開発として、ひがやすを氏があげていることは、おおざっぱに言えば、アジャイル開発と同じようなことだと思います。プログラムを作りながら、ユーザーと確認して、どんどん目的のシステムを作っていくというもの。
テスト(テストファースト)を先にやるか、プログラム(プログラミングファースト)を先にやるかでは違うんだけど、だいたい、そんなかんじ。
これは、
・ベンチャー企業で、
・自社開発の場合
大成功する(というか、ほかの方法では開発できない)
ベンチャーの場合は、仕様となる会社の業務プロセスがすぐに変わる。したがって、ウォーターフォールのように、仕様を確定させて、次へ・・というのでは間に合わない。
(自社開発に限る理由は後述する)。このため、「はてな」のようなベンチャーでこれを採用すれば、成功する。
■中小企業のユーザーは結局、自分が作りたいものが何か、わかっていない
-だから、中小なんだけどね(^^;)
しかし、ここでベンチャーと中小企業の違いだ。
ベンチャーというのは、会社が大きくなるか、大きくしようと思えばできる会社。
中小企業というのは、大きくなればつぶれる=だから中小
っていうふうにかんがえると、この差はなにか。
トップが将来像をありありと示せ、社員がその将来像を共有できることである。
ベンチャーはそれができる。中小は、「売上10億!」「業界トップ!」とかいうんだけど、そこに至る道筋(How)や、そーなったときに各部署がどのようになっているか(What)が言えない(戦略がないうえ、業務を推進する戦術を知らない・できない)。
このため、ベンチャーでアジャイルを採用する場合は、なにをつくればいいか(=将来像)は、そのときそのときで共有できるので、問題ない。あとはそれを作ればいい。だから、ペアプログラミングでも(そのときのやるべき仕様は確定しているので)さほどの問題は起きない。
ところが、中小の場合はちがう。
「既存システムをWeb化(カッコよく)し、これこれの機能を追加する。
既存システムの操作性は変えない」
などという要求仕様がくる。
これは、農家の人が、
田植えのとき、白のタキシード(カッコよく)する。
田植えの作業方法は変えない
って言っているようなもんのことがある(このたとえ、どっかで見た記憶があるけど忘れた。オリジナルではない)。
田植えでタキシードは着ないのがふつうだ。
そもそも、そんなのかっこよくない
(=Web化するのがカッコイイとはぜーんぜん限らないのだよ!)
そのうえ、タキシードきて、作業したら、動きにくいから、作業方法が変わるのが普通だ。
だけど、作業方法は変えるな!と
(=Web化したら、前の操作ではおかしいのに、”操作方法は変えるな”と・・・)
ほーら、()内の状況になったひと、多くない(^^;)
(けっこう、中小にかかわって、こーなっちゃう会社、多いのよ・・・・)
その結果、作ってみると・・・
「おれの考えているものとは違う!!」
っていうので、仕様変更を繰り返す。
これ、仕様が収束することは、「けっして」ありえない。
なぜなら、
田植えをタキシードですればかっこいいという前提にたってしまったら、そんなことはありえないので、どんなことやっても無理なように、
ユーザーが想像しているような方法は、ありえない(=最悪、論理的に矛盾している)のに、それを追い求めているから・・
そう、できないことを追い求めていて、現実を見ないから、会社は大きくできず、中小なのだ・・・
で、この状態でアジャイルをやると、どうなるかについて、次回書きたいと思います。