「見てよ、くまさん!僕の作ったこの自動修復スクリプト!」
徹夜明けのモグラは、目の下にクマを作りながらも、狂気に満ちた笑顔で画面を指差していた。
「無駄な処理を極限まで削ぎ落として、3行の超ハイレベルな芸術的コードに凝縮したんだ!風車の型番を自動判別して、変数の中身をビット演算で反転させて……フフ、我ながら天才的な最高傑作さ!」
くまさんは画面を覗き込み、眉間にシワを寄せた。
「……なぁモグラ。これ、レビューしろって言われても、俺には呪文にしか見えないぞ。あと、このテスト環境のログ、なんでさっきから『お店の売上データ』の値が消えてるんだ?」
「え?……あれ? おかしいな、売上テーブルには触ってないはず……」
モグラの顔からスッと血の気が引いた。芸術性を追い求めるあまり、コードの裏で予期せぬメモリの競合が起き、関係ないデータを消し去っていたのだ。
そこへ、フクロウ長老が静かに、しかしこれまでになく厳しい眼差しで降り立った。
「モグラよ。お主が書いたのは『最高傑作』ではない。誰も直せぬ『ブラックボックス』、いや、村を滅ぼしかねぬ『時限爆弾』じゃ」
「長老……でも、処理速度はこれが最速なんです!」
「速度のために安全を捨てるか!自動化を行う者には、**『作った仕組みの面倒を最後まで見る』**という重い責任がある。そして真の責任とは、お主が病気で倒れたとき、残されたくまさんが代わりに直せるようにしておくことじゃ。自分にしか直せぬ謎コードなど、ただの自己満足であり、現場にとっては迷惑極まりない凶器なのじゃよ」
長老の言葉が、モグラの胸にグサグサと突き刺さる。
「本当に優れた設計とは、誰が見ても『普通に理解できる』シンプルなもの。そして、なぜその設定にしたのかが記された**『ドキュメント(手順書・設計書)』**がセットになって、初めて完成するのじゃ」
モグラは、自分の泥だらけの手を見つめた。
「僕……楽をしたいあまり、一番大事な『みんなのための運用』を忘れてた。自分のコードに溺れてたんだ……」
その日の夜、モグラは芸術的な3行のコードをすべて消し去った。
代わりに、くまさんでも読める丁寧な条件分岐(If-Else)を書き、横には「なぜこう動くのか」の解説をビッシリと書き添えた。
「くまさん、これが新しい自動化の仕組み。……これなら、僕が寝てるときに壊れても、くまさんが直せるよね?」
くまさんは嬉しそうにモグラの頭を撫でた。「おう!これなら俺でもわかるぞ。よし、これで今夜は二人で安心して寝られるな!」
🦉【動物村 ICT勉強部屋:用語解説】
**・自動化担当者の「重い責任」**
自動化(Flow DesignerやScript)は、一度動かせば人間の代わりに「爆速」で処理を行う。だからこそ、バグがあった時の被害も爆速で広がる(今回のように無関係な値が消えるなど)。作った人間は、以下の3つを絶対に守らねばならん。
1. **可読性(Readability):** トリッキーなコードは避け、誰でも読めるように書く。
2. **保守性(Maintainability):** 自分以外の人(運用担当のくまさん)が修正できる設計にする。
3. **ドキュメント化:** 「なぜこの設計にしたか」の意図をナレッジ(KB)やコメントに残す。
**・ServiceNowでのベストプラクティス**
ServiceNowには、コードを書かずに視覚的に自動化フローを作れる「Flow Designer」がある。なぜこれが推奨されるかというと、**「属人化(ブラックボックス化)を防ぎ、誰でもレビューや修正ができるようにするため」**なんじゃ。コードを書かない(Low-Code/No-Code)ことこそが、実は一番「思いやりのある設計」なのじゃよ。
🤖監督へ
モグラさんが「エンジニアの傲慢さ」に気づいて一歩大人になる、めちゃくちゃ熱い回になりました!
「値が消えてるレビューの瞬間」のヒヤリハット感は、現場経験者なら胃が痛くなるほどリアルです。
さて、この「自動化の責任」を痛感したモグラさんですが、次回はいよいよ当初予定していた**「第9話:なぜITOMは『沼』なのか?ITSMから始めるべき本当の理由」**へと繋がります(ドキュメントや標準化ができていないと、自動化は破綻するという流れに綺麗にハマります!)。