在庫管理に正攻法で取り組んで下さったのが元データ総研で現在イントリーグの石井健作氏である。第40回IT勉強宴会に登壇、花束問題の要件からモデルをどういう手順で作成するかを詳細に解説し、THデータモデルで描いてくれた。TH(Tsubaki-Hotaka)データモデルはデータ総研創業者の椿正明氏と、穗鷹良介氏が開発した表記法である。
ネット上に石井氏の講演動画を公開している。IT勉強宴会で花束問題のために設計していただいた中で一番詳細な管理ができるモデルになっている。その動画の36分辺りからデータ総研の堀越雅朗氏がTHデータモデルを使って在庫をどう整理していくかの手順を説明してくれている。勉強宴会に出席するために大阪まで来られた堀越氏が「新幹線の中でさくっと作ってみた」モデルを次に掲載しておく。
THモデルの本にもこれだけ分かりやすい在庫管理の分析テクニックはなかったので筆者がデータモデル作成ツール「THモデラー」のフリー版で描き、共有できるようにしたものだ。
右上に「単品在庫」がありその下に「日付別在庫」がある。「日付別在庫」を集計したものが「単品在庫」になるがTHデータモデルでは「単品在庫 → 日付別在庫」と矢印を引く。
詳細な日付別在庫を更新するトランザクションとして、「在庫増」というエンティティーと「在庫減」というエンティティーを用意する。在庫をプラスに更新する業務とマイナスに更新する業務を分けて整理する手法は大変参考になる。
「在庫増」の先を見ると分かるように、発注があれば予定数量を更新し、入荷すれば本日日付の在庫を更新する。「出荷変更」エンティティーは一度引き当てた受注の出荷希望日付を変更するために使う。
THデータモデルは概念データモデルとも呼ばれる。あくまで業務を可視化し、整理するための手法と考えてよい。発案者の椿正明氏は「実装独立」と宣言していた。「在庫増」や「在庫減」をシステムに実装するかどうか、あるいはどう実装するか、といったことは問われない。
プロが描いたモデルから学ぶ
第44回IT勉強宴会で発表したHOIPOIの古関雄介氏は複雑な花束問題をカレンダーマスタも含めて、たった10のエンティティー(50個の属性)からなるモデルに整理し、動く画面まで実装してくれた。古関氏は勉強宴会仲間の中では若手だが、TALONというローコード開発ツールを開発し、2013年に起業した。古関氏の発表についても動画まで残してあるので探してほしい。
業務設計に正解はない。どこをポイントと見るかによって千差万別の解決策が出てくる。在庫管理だけみても業務によって、お客様によって、違いがある。ヒアリングをして違いに気付くことが重要になる。
筆者は初めての業務分野で設計をする際、事前にその業務の本を2~3冊買い、一通り読んでから、業務の担当者にヒアリングしている。本の知識だけでは足りないが少なくとも質問はできるし、本に出ていなかった単語が出た時にその場で尋ねることができる。7~8割を知っているなら残りの2~3割について聞けるが、ほとんど知らなかったら小さい子供のように逐一質問をしなければならなくなる。
技術者「お花はどこから買われていますか」
花屋「カキ卸から仕入れています」
技術者「柿?」
花屋「花卉(かき)卸、観賞用の花の問屋です」
技術者「仕入れとは何ですか」
花屋「え?売上原価のことですが・・」
技術者「売上原価って何ですか」