勘と経験と読経

略すとKKD。ソフトウェア開発やITプロジェクトマネジメントに関するあれこれ。

要求定義と外部ベンダーの関係

遅ればせながらも「情報処理学会デジタルプラクティス14号 (要求工学特集)」を読み始めている。欧米と日本の要求定義の違いについて、割と根本的な違いに気付かされた。洋モノの技術書を読む際にはちょっと気をつけるべきかもしれないと思った次第。

最新号は会員登録すれば無料でダウンロードできます

要求定義はユーザーのもの(欧米では)

要求工学のプラクティスは我が国と欧米諸国では形態が異なる。欧米諸国では要求定義がユーザ企業内で行われてきたため、要求工学の技術はユーザ企業内にとどまっている。これに対し、我が国ではベンダ企業が要求定義に関与してきたことから、ベンダ企業により要求工学の方法論が体系化され、公開されてきた。この結果、要求工学の方法論に関する研究と実践が進んだ。

わりと引用するとあっさりだけど、個人的にはガツンときている。

  • ゼネコン的大手SIerがどうこうとか、多重請負がどうこうといった業界の課題は別に置いとく
  • ユーザとベンダの関係の良し悪しもこれまた別の話だ
  • 割と洋モノの知識体系や要求関係の書籍などの前提として上記の背景を理解しておく必要があると思った
    • アジャイル系も含めて
    • スクラム類も含めて
    • 外来の方法論やメソドロジーは要求の扱いがわりかしザックリで、リーダーシップと試行錯誤が多い印象
    • また、合意形成についても割りとあっさり、ばっさりだったりする

日本における要求工学の進化

国内ベンダの方法論などのベースになっているソフトウェア工学CMMIなどは米国の軍事産業などの研究や標準化活動から発達してきたものだと理解している。それを輸入することから始まった国内SIer各社の方法論が上記の事情をベースにガラパゴス的進化をしてきているのではないかという印象。それが「良い」とか「悪い」とかの批判をすることにはあまり意味が無いと思うけれども、ちゃんと理解して方法論を駆動させる必要があるのではないかと考えている。

思い出したのは「ソフトウェア職人気質」の一節。本件も「欧米の場合」という但し書きをつけて読んだほうがいい。

ソフトウェア職人気質とは、商用アプリケーションの開発に対して、無理矢理ソフトウェア工学を適用することから生まれる数々の問題に対する回答なのです。そもそもソフトウェア工学は、NATOの大規模防衛システムを開発する必要性から作り出されたものです。ところが商用アプリケーションの開発というものは、防衛システムや政府システムの開発と比べると、ずっとアプリケーションの規模が小さく、納期も多くの場合は18ヶ月未満という別種のものなのです。商用アプリケーションの開発では、20人以上のチームが編成されることはまれであり、ほとんどの場合、10人未満のチームで作業が行われます。そしてソフトウェア工学は、200人以上のチームが必要となる巨大な開発を扱う場合に実力を発揮するものであり、個人がチーム内で自らの技芸を磨く手段についてはほとんど何も述べていないのです。

特に最近のアジャイル開発ブームで、わりといろいろなアプローチが試みられているけれども、受注者と発注者の関係には引き続き留意が必要だと思う(とくに要求定義関連では)。結局は誰かの超強力なリーダーシップ頼り、となってしまっているのであればわりと危険な兆候な気がする。