業務効率の改善や作業の品質向上の観点から自動化を推してきました。そして、非エンジニアの事務職が取り組めるプログラミング言語としてVBAをオススメしています。外注するのではなく、自分自身でツールを開発するからこそ自分好みの自動化が自由自在だからです。
一方で、VBAによるマクロを嫌う人がいるのも事実です。それは作業がブラックボックス化して業務の内容が分からなくなったり、業務内容に変更があったときにメンテナンスができなくなったりする可能性があるからです。まさにVBAによる自作ツールの弱点を的確に突いた指摘です。これは自分好みの自動化が自由自在に気軽にできる事の裏返しと言えます。
個人的に日々の業務をちょっと便利にすると言った程度の使い方であれば、業務を引き継ぐ時にあえて自動化したマクロツールを渡さないと言う手があります。しかし,実際は便利な自動化ツールがあるとついそれを使って引き継ぐ方が楽である為に自動化ツールを使うことを前提とした引き継ぎをしてしまいがちです。
これがいくつかの引き継ぎを経て、最終的に「中身がよく分からないけどとにかくこのマクロを使う」と言った謎の業務を生むことにつながってしまうのです。
個人的な便利ツールですらこのようなブラックボックス化の危険があるわけですから、組織として業務効率改善の手段として自動化に取り組むにはなおさらの注意が必要です。
DX(デジタルトランスフォーメーション)の一環として自動化や見えるかツールの内製に取り組む組織のために処方箋を提案していきたいと思います。業務改善やプログラミング、ツールの紹介や解説はこのような処方箋とセットで考えるべきモノです。
VBAなどの自作ツールの落とし穴
既に述べたようにVBAで自作したプログラムは自分好みにできる一方、単に自動化するだけであればブラックボックスを増やす事になってしまいます。本来、プログラム作業を自動化すると言うことは、作業を手順化することや判断基準を明確にすることにつながるため、むしろ作業の明確化につながるべきハズのモノです。
なぜ、そうならずに自動化する事によって自動化がブラックボックス化してしまうかというと、もともとの業務手順が明確になっていないからなのです。ERPからデータをダウンロードして加工してレポートに仕上げると言う作業があるとしましょう。すると、大概の場合、この作業の過程は人によって微妙にやり方が違ったり個人的な工夫が施されて利しているモノです。だから、それを自動化すると、プログラムの中身もわからないのでブラックボックス化してしまうということにつながるわけです。
以上のことから、VBAで自動化プログラムを作ることはブラックボックスの温床につながる危険性を秘めていますが、実はその真の原因は、VBAというプログラム言語や、自動化という作業そのものにあるのではなく、そもそも業務手順が明確化されていないことや自動化ツールの仕様が残されていないことにある、と言う事が分かります。
落とし穴があるからと言って取り組んでいけないわけではない
落とし穴があると言うことは、その落とし穴にはまらないようにすれば良いわけです。前の項で説明したように業務自動化の落とし穴は作業がブラックボックス化してしまうことにありました。そしてツールに頼った結果、誰の作業ができなくなったり作業の本質を理解できなくなってしまうことが問題です。
そのために業務手順を明確にし、自動化ツールの仕様を明確にしておくことが求められます。この時に大切な事は、業務手順書を作らねばならない、仕様書を作らねばならない、と意気込まないことが大切です。手の込んだ業務マニュアルは形骸化します。また、作業手順が変更になったときに手軽に改訂ができる程度の粒度で作成されていないと実運用とドキュメントに乖離ができて、これまた形骸化の温床となってしまいます。
それではどのようなドキュメントを用意すれば落とし穴を防げるのか、具体的に見ていきましょう
組織として用意すべき3つの掟
業務要綱を整備する
まずは業務要綱です。業務要綱はその業務の根本的な性質を説明するのが目的で、以下のような内容を含むようにします。
- その業務の目的・意義
- 概要
- 大まかな手順
- 関連情報
よく、配置転換や離職にともない業務引継の時にあわてて作業手順をまとめた書類を作成する人を見かけますが、本来このような場面で引き継ぐべきものが業務要綱です。作業マニュアルとの違いは事細かに作業の手順が書いてあるわけではない点です。バックオフィス、事務職の作業は事細かに作業手順を記録するよりも、むしろその業務の目的や意義、概要を押さえることの方が大切な場合が多いです。業務の本質を理解する事がより大切だからです。
つまり,『単価と販売数量をかけ算した金額を全て足し、月次累計データの金額のその日の売上売上欄に記入する』ではなく、『売上動向を分析するために日々の売上金額を記録する』のように作業の理由を知ることの方が大切です。
例えば売上集計のデータのフォーマットが変更になるなどの、細かい作業の変更があっても業務の本質が変わらない様な場合には改訂が発生しないという程度を手順の記述の目安にするよと良いでしょう。
仕様書を用意する
上述のような業務要綱を整備した上で、自動化ツールの仕様書を準備します。自動化ツールの仕様書については
会社員がVBAで自動化するのに必要な開発ドキュメント3点に詳しく解説していますので、よろしければそちらをご覧下さい。
仕様書を作成する目的は、『自動化ツールが壊れたり無くなったりしても同等の機能を持つツールを自作できるようにする』ことです。そのために必要な事は厳密な要件定義などではありません。
プロのソフト屋さんが作成するような細かいしっかりとした仕様書を作成する必要はありません。非エンジニアがバックオフィスで使う自動化ツールの仕様書は、プログラムの内容の翻訳ではなく要するに何をやっているのかと言う事をまとめていくことが大切です。
また、仕様書は作業内容を明確にする効果もあるので、人に渡して使ってもらうことを想定したプログラムの場合は極力柵壊死するようにしましょう。組織として運用する場合は必須です。
業務要綱と仕様書、改訂履歴、プログラムを紐付ける
業務要綱と仕様書ができたら、改訂履歴が分かる様にしておきましょう。あなたが先輩から引き継いだ業務の中に、何のためにやっているのかイマイチ理解できないものはありませんか?このような業務は結果的に「今となっては不要」となっているモノも多く存在しているものですが、本当辞めても影響が出ないか判断するのは困難です。
そこで、業務の変遷、変更が履歴として残っていれば、現在行っている業務の意味が分かることにつながります。また、プログラムも業務の変更に応じて改訂されていくものです。
このときにプログラムの中身を書き換えてしまうのではなく、不要になった部分をコメントアウトして、新しいプログラムの部分に改訂履歴の日付と業務要綱のバージョンを記すことによって、プログラムと業務要綱、改訂履歴、仕様書の整合が取れることになります。
ここまで行う事によって、冒頭で述べた『VBAによる業務自動化はブラックボックス化の温床』となることを防ぐことができるのです。
業務改善のために自動化を検討するのも良いですが、まずは業務要綱作成に着手するところから初めてはどうでしょうか。
<関連記事>
<ゆんの電子書籍>
ゆんの電子書籍はすべてkindle unlimitedで読み放題です。