先日はじめて、超高速開発という概念を聞きました。正直何のことかよく解らなくて、ネットで幾つか調べてみると、元々は日経コンピュータの特集から生まれた言葉で、その名を冠するコミュニティが立ち上がって話題になっていた模様です。コミュニティの発起人をみてみると、開発ツールベンダーが一同に会しているようです。なんだかなぁと思っている所で、主催者の中の一人の方が書いたブログを読んで趣旨が解りました。
(本日の会で)改めて感じたのは、まだまだツールの認知度が低いということです。今は狭い市場を競合製品で奪い合うのではなく、ツールベンダーが一緒になって市場を拡大する時ではないでしょうか。
確かに開発の現場におけるツールの認知度・導入率を考えると、業界が一致団結して取り組むというのは納得です。しかし、それ以前にそもそも開発って何だというのを考える必要があるのではないでしょうか?解りやすいのでウォータフォールモデルで考えてみると、IPAのソフトウェア開発データ白書の活用に詳しい調査結果が出ています。平均値でみると次のようになっています。
設計が43%でテストが27.5%、そして制作部分が28.5%です。今回の超高速開発の開発がどこを指しているのか解りませんが、発言の文脈を見る限り制作の部分に焦点を当てているように思えます。となると、対象となるのが全体工程の3割以下です。3割の部分を生産性を10倍にしても100の工数が73になるだけなので、工数としては3割弱という所です。また基本設計から総合テストまでのフェーズが85%に対し、要件定義は15%くらいが一般的のようです。それを考えると圧縮効果はもう少し少なくなりますね。
基本設計 | 詳細設計 | 制作 | 結合テスト | 総合テスト |
---|---|---|---|---|
23% | 20% | 28.5% | 14.5% | 13% |
大切なのはムダを作らないこと
もちろん開発ツールを導入することにより劇的に生産性があがるシステムや会社もあると思います。しかし、一般的には鳴り物入りで導入したものの、あまり効果が出ないなぁというところが多いのではないでしょうか。それでは、どうしたら良いのでしょうか?
米国Standishグループによるシステムの調査の結果レポートによると、平均するとシステムの中で実際に使われているのは36%に過ぎないそうです。残りの64%は殆ど使われていないか、全く使われていないそうです。
またアジャイル開発が理論化される中で、大きな影響を与えたトヨタの大野耐一さんもムダとは価値をうまない各種現象や結果と定義しています。
大野耐一 「7つのムダ」
- 「つくりすぎのムダ」
- 「手待ちのムダ」
- 「運搬のムダ」
- 「加工そのもののムダ」
- 「在庫のムダ」
- 「動作のムダ」
- 「不良をつくるムダ」
生産性が低いということが問題になっているのであれば、直接的なアプリケーションの制作工程ではなくて、まずムダなモノを作っていないかを改めて考えてみるのが良いのではないでしょうか?SIの現場などにいると次にいつ予算がおりるか解らないので、初期開発の段階でいるか解らないけど取り敢えずありったけの機能を作りましょうという話はよく聞きます。
本当にそれで良いのでしょうか?機能が増えれば増える程、システムの複雑さは増します。当然、テスト工程も大変でしょう。そして、複雑なシステムは保守性も悪く運用コストがかさみます。また、機能を追加する際にも余分な開発費が掛かることでしょう。ムダなモノを作らないというだけで、6割近い工数の圧縮を出来る可能性もあります。いかがでしょうか?
実は、アジャイル開発が目指しているところは、ここにあるのだと思っています。アジャイル開発というと、名前だけ聞くと素早い開発ということで製作の高速化を目指しているように思われることもあります。しかし、実際のところはムダなことを無くして、本質的な所にリソースを集中出来るようにしようという手法だと私は理解しています。
プロフェッショナルの役割
今回、超高速開発という新しい概念がうちだされて、世の中に(広まるか解りませんが、)広まろうとしています。エンジニアの反応は、またバズワードが出てきたと否定的な意見も多いです。私としては、別にバズワードが広がっても何でも良いのではと思います。キッカケはなんであれ、開発というモノに関心を持つ人が出てくれば、それを契機にちゃんとチームなりお客さんと話していけば良いのです。そして、本当は何を必要としているのか、しっかりと考えていくことだと思います。
See Also:
ソースの自動生成に関する本質的な違和感
参照:
開発ツールベンダー13社が集結し、「超高速開発コミュニティ」を設立
超高速開発はスクラッチ開発の3倍から10倍の開発効率が条件、競合するベンダ13社が利害を超えて「超高速開発コミュニティ」を設立 − Publickey
「超高速開発コミュニティ」は何を目指すのか - ジャスミンソフト日記
ソフトウェア開発データ白書の活用 - IPA 独立行政法人