📋 蓋し手順書はプログラムである
序
作業手順書のレビューでいろいろ指摘をしていく中で、 「作業手順書は作業者を動かすためのプログラムである」 というのは、作り手の意識として悪くないんじゃないかと思ったのでメモ。
作業手順書をどう作るか
作業者に判断の余地を残さない
- 確認するための手順まで書く
- 判断基準を一意に定め、作業者にゆだねない
- 確認基準が作成者と作業者(またはレビュワーとレビュイー)間でズレていると事故が起こる
cat path/to/logs/yyyyMMdd.log
を実行し、最終行に「正常終了」のログが出力されていること
状態に思いを馳せる
- この手順が終わったときにどういう状態なのか、ということを想像することで、次の手順が明確になる
- 本番環境に手を加える前の準備が全部済んでいるのかとか、何が検証されていて何が未検証なのかとか
- ステートフルなプログラムは今どきじゃないけど、現実はステートフルなので仕方ない
- 本番環境に手を加える前の準備が全部済んでいるのかとか、何が検証されていて何が未検証なのかとか
- 後輩にや同僚にコードを読むコツを聞かれたときなど、冗談めかして 「プログラムの気持ちになって考えるといいよ」 などと言って気持ち悪がられるのだが、9割ぐらいは本気で言っている
- 手順書も一緒で、何も知らない作業者の気持ちになって作らなければならない
「書いてあることだけをやれば完璧」であること
- 作業者が書いてあることだけをやって、問題なく作業が完了するものであるべき
- 担当者への連絡、社内への連絡など、システムには直接関係しないものであっても、作業者がするのなら手順に入れる
終わりに
ここまでやればレビューで手順の問題点を指摘できるようになり、意味のあるレビューになるかなと思っています。ギリ及第点というところでしょうか。 最近はオペミス一撃のダメージがめちゃくちゃデカいので、多少面倒でも事前にケアしていきたいですね。
序
作業手順書をどう作るか
作業者に判断の余地を残さない
状態に思いを馳せる
「書いてあることだけをやれば完璧」であること
終わりに