5.2 プロセスモデルからビジネスルールを抽出する
まず、弊社の公開コースの受付プロセスをご覧ください。
コース管理者は常に各コースの申し込み状況をモニターしています。人気のある(申込者が多い)コースはあまり問題ないのですが、少ないと本当に開催できるか心配です。例えば上記の例では、開催の10日前に、最低人数に達しているかが問題になります。もし最低人数に達していなければ開催をキャンセルし申込者に連絡しなければいけません。同時に教室のキャンセル手続きも必要です(そのプロセスは上図には記載されていませんが)。
運よく申込みが順調ですと、早目に最低人数に達します。その時点から「受講票」が発行できます。同時に請求書を発行したりビジネスとしては順調な状況になります。ある日、申込み人数が定員をオーバーします。それ以降の申し込みに対しては「キャンセル待ち」を連絡することになります。上図はこのコース受付のプロセスを図示したものです。
続いて、次の図をご覧ください。
全く同じことをルールを別出しにしたプロセスです。ワークフローが簡略化されていることがわかると思います。しかし業務は全く同じものです。これがプロセスからビジネスルールを別出しして作成している例です。
実際の業務はもう少し複雑です。コースの「定員」はコースによってすべて異なります。例えば、演習やロールプレイの多い「失敗しない要求開発」コースの定員は16名(4名x4チーム)、レクチャー中心の「ビジネスアナリシス基礎」の定員は20名プラス(教室が大きければ少し増やせます)です。また、最近スタートした「CBAP試験対策」コースは個人指導に近く、定員(最大)は12名です。おのおのコースの特色を加味した定員が設定されています。
コース開催の「最低人数」も同様です。教室の費用を考慮すると最低人数もおのずから決まります。赤字を避けるために必要なものです。例えば「最低人数」は4名です。さらに、コースの特色が加味されます。「失敗しない要求開発」はロールプレイや演習を行うために最低限必要な人数があります。クラス構成上2チームを考えると最少人数は6名となります。赤字にならない要素だけではありません。
このように、ルールを別出ししてもそのルールそのものがかなり複雑で、コース毎に異なりますから、システム化する際にはフローとルールを別出しすることが極めて重要になります。実際のイメージは次の図のようなものです。
こうすれば、新しいコースを開発しても、コース受付のフローは全く同じです。異なるのはビジネスルールだけそのコースに最適なルールを作成すればよいのです。
5.3 ビジネスマイルストーンからビジネスルールを抽出する
このプロセスの中で、「コースを申し込む」とか「申し込みを受領する」というプロセスがあります。それらの目的語は「受講申込み」(以下単に「申込み」)です。
この用語「受講申込み」にはそれ自体で状態が変わることがお分かりでしょうか。
例えば、受領した後でも、人数が催行人数に達すると「申込み(有効)」になり、請求されれば「申込み(請求済み)」になります。請求された申し込みが支払われるとその「申込み」は売り上げではなく(まだサービスが供されていないため)、前受金処理されますから「申込み(前受済)」となります。その後申込者がコースを受講することにより、前受金扱いだった「申込み」は売り上げ処理されますから「申込み(売上済)」になり、「申込み(完了)」となります。
下図のビジネスマイルストーンをご覧ください。
このように状態が変わる節目をマイルストーンと言います。
【申込み】→【申込み(有効)】→【申込み(請求済)】→【申込み(前受済)】→【申込み(売上済)】→【申込み(完了)】
このマイルストーンが順調に進んでいくのはHappyなストーリーです。
ところが、いつも順調(Happy)に進むとは限りません。申し込んだのちにいくつかの事情により、「申込み」はキャンセルされる場合があります。
申込者が少なければ、コースは開催されませんから「申込み」はキャンセルになることがあります。また、期日までに請求の支払いがない場合もキャンセルされます。
上図は期日までに催行人数に達しなかったために「申込み」を断った場合と、「申込み(請求済)」が期日までに入金されなかったために、「申込み」がキャンセルされた例です。
このようなマイルストーンモデルが有効な具体的な例は保険業です。何もなければ(Happyなら)、保険金が支払われていきます。Unhappyな出来事(事故)が発生すると、請求が発生します。