中小企業をITで元気に!

7-2 正しい要件定義ができない

 |  | 

【業務の要件を定義する】

要件定義とは、システム開発をする前に、システム開発のオーナー(依頼主)が求めている要件をまとめて確認し、要件定義書を作成する作業を言います。システム開発などのプロジェクトが成功するかどうかは、要件定義によって左右されるといっても過言ではありません。どんなに先進的で優れた使いやすいシステムでも、利用者の求める要件を満たしていなければ失敗となります。そのため、要件定義はシステム全体の機能を決める上で大事な作業なのです。別の言い方をすると人間が担当する業務とコンピュータによる自動化される業務の線引きをする作業になります。しかしこの大事な作業であるにも関わらずこれまで実際のシステム開発の現場では、安易に行われていました。その理由は正しく正確に要件定義を行う(記述して関係者に正しく伝える)ことがすこぶる難しいからなのです。これまでも利用者が考えていること、管理者が考えていること、経営者が考えていること、そして将来を考えたあるべき姿等を勘案して要件を取り纏め、それをシステムの開発者により正確に、より正しく伝える方法が提案され試行されてきました。しかし現在に至るも決定的な方法に至ってはいません。そんな中で要件定義を行い、関係者でレビューを重ねて少しずつ最終形に近づく努力をしているのが現実なのです。もちろん開発するシステムの種類によって当初からち密に定義して一点の矛盾もない状態が要求される場合もあれば、稼働してから改善すればよいシステムもあります。そのような判断も含めて適度な粒度の要件定義書の作成が望まれます。

 

【正確な要件定義を阻んでいるいくつかの事柄】

ここで正しく正確に要件定義を行うことがどうして難しいかといった点についてもう少し掘り下げて説明を致します。いくつかの理由がありますが、まずその第一は企業の業務プロセスには暗黙知が多いという事です。従って要件定義に記述することはどこまで詳細に記述すればよいかわからないという事です。どこまで書けばよいかわからないという問題意識があればまだ救いがあります。日常の中で自分たちが常識としていることは当然相手も知っているものとして意識しないで記述を省略します。その結果「そんなことは書いていない」「説明になかった」という葛藤が後の工程になって頻繁に発生します。第二は意思疎通のための文書作成能力、表現力が低い事です。特に中小企業に顕著だと思います。これは社会人になってから文書を作成したり、説明のための図や絵を必要とする機会が少ないことにも原因があると思います。従ってそのような機会に遭遇すると、相手に理解してもらえる努力を放棄して自分勝手な文書を作成する傾向にあります。第三はある程度のシステム思考が必要なのですが、それに気づかないで要件定義の記述をしようとしても意味不明になります。業務を論理的に分解して再構築する能力を持っていないと大変難しい作業になります。反対に慣れた経験者なら簡単に要点を押さえて簡潔に記述することができるのです。これは経験者の指導のもと慣れることが重要です。最後の会話や会議によるコンセンサス作りの限界があることを知らなくてはいけません。いくら話し合って合意が取れたと思っても、それはお互いの知っている範囲での合意であって、すべての内容が完全一致したわけではありません。だから要件定義をできるだけ正確に正しく行い、それによってお互いの違いを確認し合うことが必要なのです。

 

【要件定義はなぜ重要か】

今までは要件定義の重要性について、新しくシステムを開発するときの仕様として重要性を説明してきました。しかし要件定義書はそのシステムが完成した後も重要な役割を果たすのです。情報システムは一度完成したら終わりではありません。情報システムは企業の成長や変遷に沿って変化するものであり、次の新しいシステムを開発するときのベースになります。その時に既に開発に関わった人たちは存在しているとは限りません。今後の情報システムは企業の生命線を握ることになります。その情報システムを維持運営する人たちにとって、現在のシステムの設計思想や機能を引き継いでくれるものは要件定義書以外はありません。これも要求定義書が重要である所以です。