まずは要求の段階として検討してみます。
* 記述にはフリーのUMLツール astah community を使わせて貰いました。本当に感謝します。
情報を探す?人物・組織・出来事について
- 利用者はシステムの照会エリアに対して、最初の対象を指示するために、検索キーとなるような文字列を入力する。(登録操作には、利用者(操作者)の認証が必須と考えられるが、照会操作では当面のあいだ無認証も可と考える。)
- 検索キーを入力すると既存のデータから該当候補が表示され、該当があれば選択するか?ない場合は、この状態で簡易登録できる。
- キーにより該当した対象は、3つ(人物・組織・出来事)のカテゴリ毎に、リスト表示される。
- 表示されたリスト項目を指示すると、その対象に関する内容が詳細エリアに表示され、そこには、関連した別のカテゴリのリストが表示される。このリストを指示すると詳細エリアの内容は、その対象に遷移する。
- この照会処理の各エリアでは、メンテナンス(登録・変更・削除)の指示が可能である。
人物について?人物を軸にした処理
- 特定の人物について、関連した「組織」「関係」などが表示される。また、「出来事」に関しても表示される。
- 表示された関連を指示すると、それぞれの対象を画面に遷移する。
- 人物の登録に関しては簡易登録(名前のみ)が、各所で行える。人物の修正を指示することで、性別・生年(死亡)月日(年だけでも月だけでも許容する)・血液型・住居住所・連絡先などの普遍的な内容をメンテナンスすることが出来る。
- 同様に、関連した「組織」「関係」もメンテナンスできる。この際に指示したい対象が登録されていない場合は、これらの要素も簡易登録できるものである。
組織について?組織を軸にした処理
- 特定の組織について、関連した「人物」「関係」などが表示される。また、「出来事」に関しても表示される。
- 表示された関連を指示すると、それぞれの対象を画面に遷移する。
- 組織の登録に関しては簡易登録(名称のみ)が、各所で行える。組織の修正を指示することで、設立(閉鎖)年月日(年だけでも月だけでも許容する)・拠点・部署などの普遍的な内容をメンテナンスすることが出来る。
- 同様に、関連した「人物」「関係」もメンテナンスできる。この際に指示したい対象が登録されていない場合は、これらの要素も簡易登録できるものである。
出来事について?出来事を軸にした処理
- 特定の出来事について、関連した「人物」「組織」「関係」などが表示される。ま
- 表示された関連を指示すると、それぞれの対象を画面に遷移する。
- 出来事の登録に関しては開催日時や期間の指定が必要である。また、出来事のの修正を指示することで、関連組織や参加メンバーならびに内容などの出来事の内容をメンテナンスすることが出来る。
- 同様に、関連した「人物」「組織」もメンテナンスできる。この際に指示したい対象が登録されていない場合は、これらの要素も簡易登録できるものである。
「Mighty」とは、1998年頃に作成していたアプリケーションに名付けた名称です。多分にalmightyを意識しています。何でも出来ちゃう・・・といったイメージですね。
もともとの着想は、その当時よりももう少し前にさかのぼります。
基幹の勘定システム(販売やら在庫やら)を作っていると、ヒトや会社をマスタデータとして管理したりします。ここで、売掛側(顧客先)と買掛側(仕入先)とか、社員(自社)と担当者(取引先)とかで実装しました。(っま普通そうですよね)
あるとき運用において、相殺で決済するといった事例が発生しました。つまり、顧客先であると同時に仕入先でもある会社が、売り買いの差額分だけ入出金処理が発生したのです。
本来はヒトツの実態であるハズの会社が、顧客先と仕入先というテーブルに二重登録されているのでこの処理の対処には人的な運用で処理するしか手がありませんでした。
同様に退職した社員が、顧客先の担当者になったケースもありました。いづれにしても、本来は同じである・・・ものが、システム側で別に管理されているコトに、チョコッと「カユイ」感覚がありました。
湧き出たアイデア
そこでまずは、社内外といった立場の違いがあっても、人物であるというククリは同じ、顧客先でも仕入先でも組織(会社)であるというククリは同じ・・・。という着眼っておもしろいなぁ・・・と考えました。
人物(社内の社員=社外の担当)? 組織(顧客先=自社=仕入先)
そうすることで、相殺や離職の問題も、うまく処理できそうですし、もともと社名変更や住所変更などのメンテナンス作業に関しても、まさに正規化できるってコトになるではないですか!
で、各名簿をじっくり眺めてみると、同じ人物が別の名簿に顔を出しているケースに、またしても「かゆみ」に襲われました。連絡先に人物を登録する際に、このヒトはこの会社では社長で、この会社では専務で、この協会では理事で・・・・。かゆい!
関係(人物と組織など)は2次元の表では表現できない
営業部の感覚で、そのように考え始めると、「ホホー、この会社の部長さんは、**協会のワーキンググループのリーダーもやっていらっしゃるのか。オオッ!このワーキンググループのメンバーには**さんも参加しているじゃないか!ってことはこの商談はコウシテ・アアシテ・・・」といった感じの情報が得られるシステムって欲しいなぁ・・・と。
得意先の担当者の情報共有に有効カモ?
さらに悪乗りして、このような人物と人物のつながりや、組織との関係を、静的に閲覧できるカラクリができれば、さらに動的な要素、それは会議であったり、商談であったり、宴会であったり・・・つまり出来事をロギング的に記録できれば、「担当替えで、初めて行く顧客先の担当部長には、最近どんなアプローチをしていたのかな?」といった要求に対して、
- 「3年前に購入担当に就任しました」
- 「半年前に当社の**事業部のA君が***マシンを営業して成約」
- 「3ヶ月前に他社の***マシンを導入」
- 「先月に当社のセミナーに参加し、その際の当社の案内役はB君」
とかいった情報が入手出来れば便利だなぁ・・・。
過去の出来事の記録があればさらに便利!
ということで、このあたりをジックリと煮詰めてゆくと、様々なシステムで基底要素である「人物・組織」を正規化できるだけでなく、人脈的なツナガリや過去の出来事を新人や新担当でも、人的な引き継ぎを受けなくても、共有できて、超便利。
しかも、情報の入力って、よく考えれば「営業日報」じゃないですか!つまり、営業報告書システムを、多角的な「串刺し」で閲覧できるようにするって感じ、かなりこの資産を有効活用できそうな気がします。(起案時点では)
で、キーワード
人物・組織・関係・出来事
いざ、妄想を再開することにいたしましょう。
世の中を大きく2つのグループに分ける・・・といった論法で始めますと。臨機応変に出来る作業(つまり始めたり途中で保留したりとかが安易に可能)と、やるからにはドップリと集中しないと無理なタイプがあるようですネ。
システム関連のシゴトは、どっちかって言うと後者となりマスでしょう。特にワタシの場合は、ググッと夢中にならないと空回りすることがシバシバです。
で、来年2月までの納期を貰っている案件を再開した訳です。秋にはザックリと段取りをしました。が、開始早々には、いくつかの「アララ?」に混乱し、必死の思いで原因を突き止め、対応・・・との繰り返しでした(とほほ・・・)。
んが、幸いにして多くの問題が解明できて、対処が出来ました。そして、最初の1つの処理で今回の追加機能を実装することが出来ました。シメシメ.....これであとは、思いを巡らしてホイホイと追加機能を実装して行けそうです。
年の暮れも押し迫るナカ。事務所は陽当りが良いので、ポカポカと気持ち良く・・・。至福の時間ですなぁ。・・・・って、まだ終わってないのに!