システム開発プロジェクトの成功とVモデル
ある日の知人との会話から、SIerとその顧客で『成功の定義』に違いがあると考えました。先に結論を書いてしまうと、両者の違いは以下になります。
- SIerの成功=Vモデルの達成
- 顧客の成功=Vモデルの成果物による課題解決
結論としては当たり前ですね。
ある日
先日、知人(地元のシステム開発会社のマネージャー)から、数年がかりの大規模なシステム開発プロジェクトを、ウォーターフォールで進める計画を聞きました。複雑でリスクも高そうなので「アジャイルで進めないのか」聞いてみたところ、これまで経験してきているやり方(ウォーターフォール)が確実で、今回もそれを踏襲すれば問題ないと考えているようでした。
しかし私には、彼がマネージメントするプロジェクトに参画していた当時、残念ながら開発したシステムへの顧客満足度は決して高くなかった記憶があります。その理由の1つは、顧客がアプリに触れるのが開発プロセスの終盤で、そのタイミングで気づいたことがあっても変更の要望が通りにくいことでした。この課題を解決するならアジャイルの方が適しているはずです。
そこで思い切って「これまでのプロジェクトでも失敗はあるでしょ」と聞いたところ、憮然とした表情で「ない」と言い切られました。
SIerの成功
企業が情報システムを開発したい場合、社内にITエンジニアが不在で開発できないことが多いので、システム開発をソフトウェアの受託開発会社(SIer)に発注します。SIerが開発をウォーターフォールで進めるなら、まずは企業(顧客)から開発したいシステムの概要や要望のヒアリングを重ねて要件を固めることになります。
その後、SIerは固まった要件に基づいたシステムを作成し、完成したシステムを顧客に納品します。SIerとしては、要件を満たすシステムを納品することに加えて、QCD(品質、予算、納期)が計画に収まっていれば利益が出て、晴れてプロジェクト成功と判断されます。
私の知人も、この意味で過去のプロジェクトは成功している(これまで失敗は「ない」)と言い切ったのでしょう。
顧客の成功
一方、顧客の側から見るとどうでしょうか。まず業務に課題が見つかり、それを解決するために新システムを企画します。システムの概要や要望をSIerに伝え、数か月から1年以上たってアプリが完成し、納品されます。顧客にとっては業務課題が解決できて、システム投資以上のリターンが得られればプロジェクト成功となります。
ただし、企画から長い期間を経ているので、業務課題が変化していることも考えられます。また、課題は残っているけど優先度が下がっていたり、課題が消滅しているかもしれません。顧客にとっては、当初SIerに伝えた要件通りのシステムができてもプロジェクトの成功とは限りません。
Vモデル
SIerと顧客の成功の差は、Vモデルで考えると視覚的にわかりやすいと思います。
Vモデルとは、ソフトウェア開発プロセスのモデルで、設計活動とテスト活動を対応付けてV字型に整理したものです。ここではVモデルの説明は省きますが、詳しく知りたい方は以下を参考にしてください。
つまり、SIerはVモデルを達成すると成功と考えるのに対し、顧客は(Vモデルを経て)完成したシステムで課題が解決してはじめて成功したと考えます。当然ですよね。
まとめ
あらためて、SIerと顧客の成功の認識には、以下の違いがあります。
- SIerの成功=Vモデルの達成
- 顧客の成功=Vモデルの成果物による課題解決
ちなみに、ウォーターフォール(Vモデル)や認識の違いが悪いと言いたいわけではありません。ただ、認識の違いがある(かも)と知っておくことが大事だと考えています。