日本のIT現場で、日々当たり前に進められているシステム開発。そのやり方に、疑問を抱くことはまずないだろう。しかし、第三者の目で見ると、そこには世界の常識とは異なる部分がある。
別のやり方を知る外国人の目を通して日本のシステム開発を眺めることで、日本のやり方の良い点や他国に見習うべき点が浮かび上がってくる。日経SYSTEMS 2012年9月号の特集1「ここがヘンだよ 日本のシステム開発」の取材活動で、日本のIT現場で活躍する外国人エンジニアや、グローバルなシステムの開発に携わることが多い日本人エンジニアに、日本と外国のシステム開発の違いについて聞いた。取材を通じて、日本のシステム開発で独自性の高いところが多数明らかになった。ここでは、複数の人から「これはおかしい」と指摘された3点に絞って紹介する。
開発者は常に文句を言われる立場
香港出身で中国と米国、日本においてシステム開発経験が豊富なあるエンジニアは、日本で販売管理システム構築を担当した際、ユーザー企業の担当者がA4判用紙2枚に書き連ねたあいまいな要件を掲げただけで、以降の開発作業については「後はよろしく」とばかりに丸投げしてきたと打ち明ける。そして、できたシステムに対して、あたかも第三者であるかのように文句をつけ、仕様変更が大量に生じたという。
その際、「仕様通りに作ったものなので、もし変更が必要なら相当のコスト負担と納期の延期を求める」と主張しようとしたが、日本人の上司から止められたそうだ。ユーザー企業ともめて、場合によっては訴訟に発展したり、その企業から請け負っている他の案件に悪影響が生じたりするのを避けるためだ。開発現場では、争いを避けたいとする気持ちが先に立って、ユーザーに「NO」と言えずに変更要望を受け入れてしまうことがある。「日本では、開発側がユーザー企業から『依頼したのはこれとは違う』と、一方的に文句を言われるだけの場ができあがっている。どう考えても変だ」とそのエンジニアは納得がいかない様子で話した。
無条件にウォーターフォールで作る
かつて、業務システムといえば事前にきっちりとプロセスが決まっている業務を自動化するものがほとんどだった。いわば、最初からすべてを見通して開発することが可能だった。しかし現在では、より良いと思われる業務プロセスを新たに導いて、そのプロセスがスムーズに進むように支援するシステムを開発するケースが多い。その場合、初期には要件がまとまりきらず、見通しの悪い中で暫定的な仕様で開発を進めることになる。
開発の見通しが悪くなっているにもかかわらず、日本では従来通りにウォーターフォールモデルが採用されるケースが多い。米国のシステム開発に精通するあるエンジニアは、「ウォーターフォールモデルは、ハードウエアのように開発前に仕様をきっちり固めて1回のサイクルで作り出し、何ら変更することなく長期間使い続ける場合に向く開発手法だ。現在開発されているソフトウエアの多くは、初期段階から仕様を確定できたり、完成後に改良せず使い続けたりすることはまずないので、よほど大規模なシステムでない限りウォーターフォールモデルの採用には違和感を抱く」と話す。