背景・経緯
タスクと読んだり、Jobと呼んだりするが作業の品質を担保したい。そうなると作業を管理する。定常業務であれ、スポット業務であれ、検証ないし検算し安全を担保することは仕事において防御力を高める大事な活動だ(100%の精度ではないので、日々反省である。)
プロセス管理にあたって、完璧な方式はないのだろう。ただ、ここだけは抑えるにしようという戒めから記載に至った。
とりわけ、システム関係について記載したい。
プロセス管理とは?そして何をするのか・・・?
諸説、色々あるだろう。PMBOKというプロジェクトマネジメントの知識の集大成でもプロセス管理の記述は存在する。
プロジェクトのアウトプットを出力する一連の手続きをプロセスと個人的には呼称する。定義とかこだわりすぎると、よく分からなくなるので。
個人的には、データベースを見とけ!だと思われる。もはやシステムをITを利用しない企業はほぼないだろう。Excelにて管理しているのもデータベースだし、RDBMSでのデータベースもDBだ。
だから、データベースを死守するのだ。
管理するのだから、何を管理すべきなのか・・・たくさん情報が出てくるだろう。アウトプットの構成管理としての所在(Gitとか、SVNとか)もあるだろうし、命名規約もあるし、プロセスそのものの管理・・・規約に則った手順かどうか?見守ることも管理だろうし、期日管理と連動して、出力が〆切までに出てくるの!?というのも管理だ。
管理を管理するためのプロセスが出てくるだろうから、それもまたプロセス管理だろう。ややこしい。情報が爆発してしまうし、現場猫状態になるだろう。作業をする人を管理する人を管理する人・・・。
こうなるとスパゲッティだ。
もう、ある意味、ギャンブル的な発想で、どこを抑えるか?になってくるのだ。コスト管理プロセスなのだろう。
そして、エンジニアリングであれコンサルティングであれ、個人開発であれ、やっぱりデータベース操作が登場してくる。
その際に、CRUD操作のうちのCUDを抑えるのがいいのだ。高確率で事故るのはこの辺りだろう。いや自分がそうだった・・・。
蛇足ではあるが、個人的にCRUDよりSUDI(スジ)を推したい。だって、CREATEではなくて、INSERTじゃないか。
CUDをどうやってケアレスミスから守るか
100%ではないが、処理フローに、関数処理を挟む、が今のところたどり着いた結論だ。作業手順なんて守っても守らなくても、何かしら不都合があれば過誤に不備なのだ。
関数処理というのは、ソフト処理でもいいし、ハードでもいい。たとえば、昨今であれば、Iotが盛んだが、センサーがロックして、作業をやめさせるバリデーションを設けるとかそういったことだ。
Excel手順書も馬鹿にしちゃいけない。そこに、処理フローの中で関数を仕込めば、自ずと安全だよね?っていう証明になる。
登録件数が合致しているから、想定した件数だった。それは、関数によって、計算した結果だから妥当ではある、といった判断理由の根拠に利用できる。
わざわざそんなことしなくても、大丈夫!といってNGだった事例は枚挙にいとまがない。自分で目で数えたのに!なんてのは当てにならないのだ・・・計算過程も残っていないから、後で、どういう手続きをしたのかも見えないのだ・・・。目で見て右よし左よし、車の下は見えませでした・・・もありえるのだ。ボンネットに猫がいるなんて、気づけないこともある。だから、検知するのだ。検知する機械を仕込むのだ。
とはいえ、作業をしていて、たくさんの箇所に箱を仕込むのは中々面倒だ。果てしない。ヒヤリハットなんて無限に存在する。だから、どこ抑えるか?
データベースのCREATEであれ、UPDATEであれ、DELETEであれ、とある安定状態から非安定状態に変える操作ゆえに、取りこぼしや抜け漏れ、過剰設定などによって、トラブルにつながるパターンが多々ある。
大抵は、手順通りやったのに!とかだろう。残念だ。タイポだったりする。どうしても、ここの手順が一番事故りやすい。
ダブルチェックしたところで、ヨシっ!なのだ。人間の認知には限界がある。疲れてるし、仕事が全てではなかったり、善人ではない。ここでの善人はモデルケースというか、理想像だ。そんな人間はいない。いたとしても、いつか消える可能性が含まれている。
データベースはどんな形であれ、このCRUDの操作が呼び出しポイントだ。Excelでファイルを開いて、新しい行を追加することとRDBMSのINSERTする行為は類似している。
だから、やはり、CUDに関わる作業で何かしらチェックを挟む。
CUDのそのあとが大事
CUDに関わる作業でもその作業前に懸命にチェックしても、漏れていたから未登録でした、対象を勘違いしていましたとなったら苦労も水の泡。
忙しいからと目での確認になってしまい、やはりミスにつながる。
操作後にいかに、チェックするか?が大事なのだ。そして、チェックの仕方も膨大になってしまうので、対象を絞る。もちろん、決まりが存在するのであれば、それは遵守しつつ、何を見直すか?に重点をおく。それは・・・
集計数とタイムスタンプ、ターゲットの項目だ。見直し対象が膨大になり、チェックリストのためのチェックリスト作業でどうしよもない時も、ここを狙う。
集計数としているのは、抜け漏れを見つけるため。集計すると、特に合計数などは、作業前に総定数を割り出しておけば、実際の結果と見比べられる。
タイムスタンプとしているのは、レコードに持たせているWHOカラム(誰がいつ何をやったか?5W1Hカラム)がCUDをしたならば、作業時刻になるのだから、変わっていないのであれば、できていないのだ。
もちろん、手順が存在し、決まったツールを使えば、担保されるならそちらを利用すべきだろう。何かを見直すことで、作業のおかしさに気づくのは往々にしてあるため、何をポイントにするか?時間内にできるポイントはどこに絞るか?といった時に参考にしていただければと思う。
むしろ戒めとして・・・
コメント