ITコンサルタントの仕事をするうえで、改めてデータをどう取り扱っていくのか、下記の記事に触発されて書いてみました。
なかなか、ざっくりとした内容なのでこういう視点で考えている、という目安ぐらいにしてもらえるとありがたいです。
1. アウトカムとKPI
1.1 プロジェクトの成果であるアウトカム
- あるプロジェクトが生まれた時、そのプロジェクトの成果であるアウトカムを確認する
- アウトカムは、プロジェクトに関わるステークホルダーが同じように認知しているもの
1.2 アウトカムを得るために必要な材料とそのプロセス
- アウトカムを得るために、プロジェクトでは必要な材料を揃えていく
- その必要な材料をそろえて、最終的なアウトカムになるまでのプロセスを描く
1.3 プロセスと各ステップを計測するためのKPI
- 必要な材料は、そのプロセスの中でステップごとに計測を行う
- 計測すべき数値を決め、KPIとして定量的に取得できるようにする
2. BPMLとデータフロー
2.1 プロセスを業務のフローで作るBPML
- プロセスは業務の流れを可視化するフローであるBPMLに書き出す
- 最初は全体像を把握できることを目的とし、細部は問わない
2.2 プロセスの各ステップのKPIをデータとして表す
- フローの各ステップのKPIに注目したフローを別に作る
- KPIはそれぞれプロセスで発生したデータから集計を行う
2.3 そのステップのデータの状態の遷移からデータフローを作る
- 各ステップごとに集計するデータの状態が変わっていく
- そのデータの状態がどう遷移していくのか、フローに落とし込む
3. 定義!定義!定義!
- データフローで扱うデータがどのようなものか、それがどうなっていくのか、定義する
3.1 データの項目を定義する
- データの状態を定量的に集計できるように定義を行うv
- 個々のデータの項目定義は、名前、型で表す
3.1.1 名前
- 名前は実態に即してわかりやすいものとする
- 似たような項目は共通した命名ルールに基づく
- 名前から項目の中身が想像できること
- 一般的な単語を使い、初見で誰もがイメージできる必要がある
3.1.2 型
- データがどのようなかたちで値として保持できるか、型を定義する
- 定義された型によって、その値をどのように取り扱うか決まる
3.1.2.1 Boolean
- True,Falseといった、その状態である、その状態でない、の2種類を持つ型
3.1.2.2 Numeric
- 数値
- 算術数字を持つ型、Integer、Float、Decimalなど、数値の表現の仕方で使い分ける
3.1.2.3 Character
- 文字列
- 文字として扱う型、String、Text、Char、VarCharなど、文字列の値の保持の仕方で使い分ける
3.1.2.4 DateTime
- 日時
- 年月日、時分秒、Timezoneとして扱う型、Date、Time、DateTime、DTZなど、日時の値の保持の仕方で使い分ける
3.2 データの状態の変化
- データの状態は項目ごとに型をともなって値が入る
- そのデータの値の取り扱いとしてCRDUがある
3.2.1 Create
- データが新しく作る
- データはもとになるものから作る
3.2.1.1 固定値からつくる
- True / False
- 決まった数値、文字列、日時
- 現在日時
- ランダムな値
3.2.1.2 他のデータから作る
- 他のデータに基づいてデータを作る
- データの数値を集計した合計や平均などの集合
- データの数値の閾値から判断したTrue / False
- 文字列の一部を切取や結合
3.2.2 Read
- データを参照する
- データがあること、ないことが判別できる
- 参照したデータをもとにCreate、Delete、Updateができる
3.2.3 Delete
- データを削除する
- 削除をすることで参照ができなくなる
3.2.4 Update
- すでにあるデータを更新する
- Createと同様に、固定値での更新や他のデータからの更新ができる
4. データの収集と加工と集計
4.1 データの収集
- ファイル保管やデータベースのレコードへの追加などデータを集める
- データは揃っていること、論理的に矛盾がないことが求められる
4.2 データの加工
- データは集計ができるように加工が必要である
- 集計する型や単位を揃える
- 関連する項目を分類し、集計する軸となるローデータを用意する
- 集計する軸など、分類や識別する項目などを定めたマスタデータを用意する