ひがやすを技術ブログ

電通国際情報サービスのプログラマ

NTTデータがウォーターフォールから脱却?

筆者が現役技術者だった頃はプログラミングは創造的で非常に楽しいものだった。サービス開始直前の相当な忙しさは今も昔も変わらないが、少なくともモチベーション溢れるエンジニア達の姿があった。40年近くの間に何が変わってしまったのか。わが国に定着する「ウォーターフォール(waterfall)型」の開発スタイルに、その一因を探ってみる。

浜口さんが、ウォーターフォールの問題点を指摘している。そして、反復型開発のマイクロソフト版である同期安定化型も今後は検討すべきだとしている。

一方の同期安定化型に話を戻す。こちらは、ソフトウエアをスモールチーム(3?8人)で開発できる単位に分割し、各チームが同時並行的に設計・コーディングを行っていくスタイルである。毎日あるいは一定の期間ごとに、各チームの生産物を統合してテストを行い、品質の安定化を図っていく。


わが国の市場の大半を占める企業向けの個別システムに対して、最初から同期安定化型で開発を行うことは難しいが、ある工程以降で同期安定化型を適用することはできるのではないだろうか。だだし、それには条件が必要だ。企業システムである限り、基本的な要求仕様はその企業に決めてもらわねばならない。後工程で大きな変更がないように要件定義はできるだけきちんと行っておく必要がある。


 どの時点で同期安定化型を採用できるか、分割単位をどれくらいの大きさにするかは、開発メンバーの能力にもよると思われるが、ウォーターフォール型と比べても相当能力の高い人材が必要になる。理想的には、彼らには詳細設計からテスト、完成まで一気通貫で担当できるようになってほしい。


 このような試みが少しずつでも進めば、エンジニアのモチベーションは向上し、業界イメージを悪化させるような要因は解消する。創意・工夫の余地が拡がれば、自己のアイデンティティーを発揮することができるようになるはずだ。

  • 要件定義はきちんと行う
  • その後はスモールチームでイテレーションを回していく
  • 外部設計、内部設計、プログラミングなどの工程で人を分けずに、優秀な人が全工程を担当する

すばらしい。
こういう考えが、データから出てくることに驚くとともに、ぜひ、実践につなげて欲しいなぁ。


自動車産業のような製造業についての見解も興味深い。
現社長の山下さんはこういってました。

「自動車のような産業構造に再編すべきだ」。NTTデータの山下徹社長はインドや中国など海外ソフト会社が日本市場に本格進出してくる前に、ソフト産業の構造改革を実行する必要性を説く。日本のソフト産業が崩壊の危機にあるからだ。

これっておかしいよね。SIってのは一品ものなんだから。
パッケージベンダが自動車産業を参考にするのは、100歩譲るとありかもしれない。消費者に受け入れられるだろうという予想にもとづきプロダクトを開発していくモデルだから。
でも、やっぱないな。車は、多少の違いがあっても、どれも基本的な構造は同じ。パッケージは、いろんなものがあるからね。
もちろん、製造業から学ぶことはいろいろあるけど、産業構造を真似るのは意味がない。
これに対して、浜口さんはこういっています。

そしてよく考えてみると、ソフトウエアは製造工場で同じ形の製品を繰り返し大量生産するようなものとは違い、製品設計それ自体が生産物であり、2つと同じものを作ることはない。果たして、このような工場型の方式が向いているのかどうかという疑問もわいてくる。

わかってるジャン。同じ考えだ。