原始時代への戻りかた

ある業務を、自力でなんとか自動化してみるということはよくあります。別に職場全体に波及してほしくてやるわけでない、自分を楽にすることがもっぱらの動機であるような、個人発の手作り自動化です。Excelシートにちょっとした関数やVBAを仕込んでみるところからはじまって、それがうまくやれるようになって楽しくなると、pythonとかrubyとかそういった処理系をインストールしてデータ処理をプログラムしてみたり、今までは何に使うのかさえ知らなかったAccessでクエリーを組んでみたり。今だとRPAのツールなんかも持ち出して、マウス操作やキーボード入力をシミュレートするような面白いワザを使ってみるなんてこともあるかもしれません。

それらは素晴らしい工夫ですし、そんな感じに草の根から成長してきたIT者(モノ)がたくさん世に出て活躍してほしいとも心から思いますが、時々起こる問題として「うまく引き継げない」というトラブルがある点には注意が必要です。

その人がいつまでもそこのポジションで同じ業務をするわけではありませんから、きっといつか、今までやっていたことを誰かに任せないといけなくなります。そのときに、作り上げた仕組みが「ブラックボックス」になってしまっていると、色々と困った事態を巻き起こしがちです。おそらく試行錯誤しながら完成に近づいていったのでしょう、作り込まれたものの設計情報はそもそも存在しなくて、書かれたロジックは各所の連関が不明確、必要なときは何を直してよいのか、何を直してはいけないのか、そういうことが分からなくなっているのです。結果として、そこの仕事には変化を加えることができなくなり、ちょっとでもインプットされる情報のルールが変わると、予想できないエラーを起こしてしまう、といった不自由な状態になってしまうかもしれません。

プログラムを試行錯誤しながら作れるようになる、という段階から、メンテナンスに困らないようなドキュメントが整備できる、という段階に至るまでは、意識的な修練が必要です。そのため、前者の段階でいろいろ自動化を作り込んでしまえば、ブラックボックス化の問題を起こす見込みが高くなってしまうわけです。職場の全員が等しくテクノロジーに強くなる、という理想的な話でもあればよいのでしょうが、さすがに現実的ではありません。どうするのがよいでしょう。

筆者がかつて意識したのは、「この仕組みの存在以前に戻るときはどうするか」というテキストファイルを残しておくことでした。ここに作り上げた「文明の芽」が職場に根付くか、または一時のものとして消えてしまい、文明以前の状態に戻るか、それは必ずしも予断できないものと考えたわけです。それならそれで、やむなく元に戻すならどうするか、というメモを作ったのです。ここにある自動システムを使わなくても、結果として、こういうインプットが来たら、どういう条件でデータを選んで、何と見比べ、何をどうやって変換し、どれとどれを合計して、どういう出力ができあがったらゴールなんですよ、と書いておくだけです。もちろんその指示を手作業でやれば余計な時間がかかってしまう(その上ミスも混じるかも)という段階に戻るでしょうが、中身の分からないブラックボックスを、原因不明のエラーに怯えながら使うよりはずっとマシです。いったんは原始時代に戻っても、非効率さに悩んだ誰かが、いつか新たな自動化を実現してくれるかもしれませんし。文明化の道はまっすぐな一本道ではないのです、きっと。

もちろん、原始時代に戻ってしまえばいい、という気持ちでメモを書くわけではないです。それなりに自動化の仕組みを詳しく説明する文書を作って、もし手に負えないようなら外注業者にそれを見せてなんとかしてもらう、くらいのことができるよう努力するわけですが、テクノロジーを使うことそのものが目的なのじゃなくて、仕事を済ませることが本来の目的なのだということを見失わないためにも、「結局はどういう仕事をするの」という文書だけは、たとえ簡単でも残しておく価値があると思うのです。