2016年8月15日

【中小企業のIT投資は社長が仕切れ!】

~要件定義のメンバーは社長が指名しよう~

システム開発で最も重要なフェーズは要件定義です。要件定義とは業務の視点から、システムにどのような機能が必要か、そのシステムを使ってどのような流れで実際に業務を行うのか、を発注者であるユーザー企業と開発を行うベンダーが合意することです。これまでこのコラムで何度も出てきたRFP(提案依頼書)に記載されるのは「要求」です。要件定義で記載されるのはその名の通り「要件」です。

「要求」と「要件」は一見似ている言葉ですし、同じような意味で使われることも多いのですが、厳密には意味は異なります。「要求」は発注者であるユーザーが一方的にやりたいことや欲しい機能を提示することです。要求の書き方としては「複数のキーワードで検索したい」、「見積もり画面で入力した情報をそのまま受注処理の画面に表示してほしい」といったように「~したい」という書き方になります。それに対して「要件」はユーザーが出した「要求」をユーザーとベンダーの双方が、それが実現可能かどうか、仮に実現可能がとしても本当にやるべき意味があるのかどうか、をきちんと確認し、開発で実現する内容を合意する作業になります。上記で例示した「要求」が「要件」に変わると「複数のキーワードで検索ができること」、「見積もり画面で入力した情報のうち、○○と▲▲の情報は受注画面に表示されること」といったような書き方になります。

要件定義で重要なのはユーザーとベンダーの「合意」です。ベンダーは合意した内容に従ってその後の開発作業を進めます。このとき合意が曖昧であったり、間違った内容で合意してしまうと、システム開発フェーズの後半であるユーザーによる受入テストの段階で大きなしっぺ返しを食らうことになります。「こんな機能ではない」、「出来てきてテストしてみたら、やっぱり違うやり方の方が良かった」といったことが多発します。ベンダーとしては合意した内容に従ってシステムを作ったので、今さら文句を言われても困るし、もし修正するなら別途費用をください、ということになります。一方、ユーザー側から見れば「Aと言ったはずなのに、ベンダーが解釈を間違えてBになっているから、無償で直して欲しい」ということも多いでしょう。

このような手戻りが発生しないようにするためにも、要件定義はきちんと行う必要があるのです。要件定義をきちんと行う一番の秘訣は、現行業務の問題点を正確に把握し、それがどうあるべきか、修正後のイメージを具体的に持っている優秀な社員です。要件定義には最優秀な社員をアサインすべきなのです。しかし、優秀な社員というのは引っ張りだこで本業で忙しく、なかなか時間が取れないことが多いはずです。だからこそ、社長が覚悟を決めてアサインするしかありません。

社長の決断と優秀な社員の要件定義への参加によってこそ、品質の高いシステムを手に入れることができるのです。

2016年8月