前提条件を定めると話が進めやすい

網羅的に整合性を保ちながらシステマティックに要件を定義するためには要件定義の各情報のつながりが鍵である という話を前回しました。

今回はここをもう少しひもといてみたいと思います。

物事を整理するときには前提条件を明確にしてから考えると早く整理がつきます。要件定義も同じで要件を定義するための前提条件を明らかにすることで比較的スムーズに整理できます。

前回の3つのキーワードをそれぞれこの前提条件で考えてみましょう。

■網羅性
要件を網羅的に出すためには、網羅性を満たすための前提条件を考えることになります。
まず、システム化の要件を網羅的に出すためにはシステムの境界線を網羅的に出す必要があります。

次にシステム境界を網羅的に出すためにはシステム境界と接する業務が網羅的に出ている必要があります。
そして、業務が網羅的に出ているかどうかはその業務で何を実現したいのかよって決まります。

そして、その「何を」は「誰にとって意味がある事なのかが重要になります」、つまり、網羅性の原点はこの「誰が」が前提の最初に出発点になります。

このようにシステム化の要件を網羅的に求めるためには、何段階かの前提のつながりが最終的なシステム化要件の範囲を決めることになります。

実際には予算などの制約条件によってより絞り込まれることになりますが、そのような制約がないとすると上記のような組立で網羅性を捉えることが出来ます。

■整合性
整合性を確保するためには複数の視点から内容を確認する必要があります。つまり、同じ要件定義の中でこちらの定義内容とあちらの定義内容のつじつまがあっていないものを整合性がとれていないといいます。このつじつまを合わせることが整合性を合わせることになります。

それではどのようにつじつまを合わせるかというと、要件定義の中の情報には「こうなるはずだ」という関係性があり、それがつじつまを合わせる切り口になります。

例えばシステムに関わるアクターのうち要求を取れていないアクターがあった場合には、要求を取りこぼしている可能性があります。これは「システムに関わるアクターであれば何かしらの要求があってしかるべきだ」という考え方が背景があるからです。この考え方を情報のつながりと考えています。

それでは前提条件というのはこの例の場合どのように考えるといいかと言うと、要求をアクターと結びつける事で要求の前提条件をある程度示していることになります。つまり、アクターには責務や役割、立場などがあり、それを考慮することで要求に対する前提条件を示していることになります。

このように要件定義内の情報を全てつなげて考えることができれば、整合性を確保することが容易になります。

■システマティック
ステマティックに進めるためには二つのことが必要です。それは混乱を起こさないように配慮することと、要件定義を進めていく道筋を明らかにすることです。

道筋を示すには「このように進めると要件定義がまとまる」という論理的な構造が必要になります。その構造として先に挙げた情報のつながりを利用します。(次回説明)

道筋が明らかになっても、混乱は起こります。混乱を起こさないようにするためには、要件定義を行うチームが同じ方向を向いて進んでいくことが必要です。
そしてそのためには合意を取って前に進めていく仕掛けが必要です。そのポイントを以下に示します。

 ・対象を視覚化する
 ・合意を積み重ねる
 ・アイディアを出し 組立を行い 理解し 共有する  これを協同で行う
 ・みんなで考える

これらのことが行えるチーム運営を行ってはじめて、筋道が活かされます。

これらのことを実現するための情報のつながりについて次回示したいと思います。