11月19日「P-sec Open Forum 2012」でのパネル討論で何を話すことを事前に整理しました

きたる11月19日に開催される「P-sec Open Forum 2012」のパネル「ツールのための開発方法論」に登壇させていただくことになりました。Wagbyの販売をはじめて6年半、このような場に招かれるようになったことを嬉しく思います。
http://www.p-sec.jp/2012/10/p-sec-open-forum-2012-1.html

余談ですがモデレータの黒川様は元SCSKということで、縁を感じます。私の大学卒業後の最初の就職先はCSKでした。短い期間ではありますが、そこで鍛えられた経験は今も十分、活かされています。そのときの人脈は今でも大切にしています。

さて今回のパネルですが、黒川様の意図は次のようになっています。

開発ツールを導入したが、効果が出ないということを聞く。これはツールの背景、開発のそもそもの方法論を吟味しないで、ツールという見える形に走ったためだ。本シンポジウムでは、ツールの担当者から、開発方法論がどうなっているのかを論じていただく。

自動生成エンジンの利用を前提とした開発方法論は、まさにこれからというところです。そこで本番の前に、私なりに論点を整理しておこうと思います。

自動生成技術は何を「しない」か

Wagbyをはじめ、多くの製品は「仕様書からソースコード」を生成します。ソースコードを生成しないタイプもありますが、いずれも開発工程(プログラミング)と単体テストの短縮化による超高速開発を実現します。このような触れ込みで私自身、さまざまなプロジェクトに関わってきました。

そこで今回のパネルの前準備として、自動生成技術がカバーしないこと、を明示したいと思います。それは

  • 仕様を人間に変わって作ることはしない。
  • よりよい仕様はどうあるべきかを考えることはしない。

です。それはもちろん人間がやるべき仕事であり、何を当たり前のことを... を指摘されそうですが、実際の現場では「すぐに動作するアプリケーションを手に入れられる」ことと、「できあがったアプリケーションが業務にフィットすること」を同義で解釈しようとすることが少なくないのです。

経験上、一回のビルド(開発)で「お客様が求める」アプリケーションが手に入ることはありません。確かに動くものはできあがります。しかしその動作を確認しているうちに、やはりここはこうすればよかった、という改善点がどんどん見つかります。それはユーザーインタフェースの改良で吸収できるものもあれば、データ構造そのものを変える必要に迫られることもあります。自動生成技術のメリットは、そのような場合でも(手作りに比較して)再開発のためのコストが低いことです。が、ゼロではありません。

私はこのような経験を前提に「超高速ウォーターフォール」型の開発プロセスを指向しています。この意図は設計から開発、テスト、運用というプロセスを短期間で実施する代わりに、それを何度でも反復して行うことで常にシステムを改良できる体制を構築することにあります。これはシステム開発の予算化にまで影響を与えます。多くのプロジェクトは何年かに一度というタイミングで予算化されます。そのため、あれもこれも一度に機能を詰め込もうとして破綻することが少なくありません。少ない予算でも継続して手当できるようにし、例えば三ヶ月の一回のバージョンアップというサイクルで開発することにより、プロジェクトの成功率は高まります。「小さく開発して、成長するシステム」という概念は昔からありますが、それを支える体制に、自動生成技術は欠かせないと考えています。

開発方法論とビジネスモデル

自動生成時代の開発方法論は、SIerのビジネスモデルの変革そのものに直結します。お客様ご自身が仕様を決める場合は、SIerに求めるのは「大規模オフショアの管理能力」かも知れません。しかしSIerの真骨頂は「ITを活かした(同業他社との)差別化を実現するための仕様を提案すること」です。クラウドやスマートフォンといった技術をどう使えばいいのか、多くのお客様はソリューションを求めています。それはどのメーカーの機器が性能がいいか... ではなく、自社業務のどこに、どう使うことで、どういう効果があるのか、です。SIerの存在価値は「業務に特化した、高い提案能力」と「その実現を支える超高速開発」に集約されます。大規模オフショアの管理能力を求められるのは大手の一部企業であり、大半の中小SIerは、技術者の派遣からノウハウの販売へとシフトしていくことに活路を見出そうとするでしょう。

それを支えるのが、やはり自動生成技術です。そして開発方法論は「(自動生成技術の特性を活かした)仕様策定に多大な時間をかけ」「開発工程そのものは少人数かつ超高速に対応」することが軸になります。大量の技術者の管理といった要件は縮小されます。

未来の自動生成技術がカバーする範囲

これまでの主張を理想論とすれば、自動生成技術はまだ発展途上です。しかしビジョンは明確です。仕様書からソースコードを生成することに加え、プラスαとして「○○」のような機能を付加していくことで、「(人間の仕事である)よりよい仕様策定を支援」し「プロジェクトの成功率をさらに高める」ことができるようになっていくでしょう。具体的な機能とは何かについては当日、パネルの場でお話したいと思います。

当日、会場でお会いしましょう

ということで申し込み締め切りは11月16日(金)です。是非ともご参加ください。ご一緒に、SIの未来像を議論できれば嬉しく思います。