単純作業するか、それとも自動化システムを作るか(時間との闘い)
先日、このようなケースに遭遇した。
【作業内容】
ただし帳票Aから抽出するのは一部の列だけであり、帳票Bは複数シートある。
【状 況】
- いつもは、作業2.と3.を手動で行っている。
- 帳票Aの特定行選択は、条件が複雑なため自動化できない。
- とにかく急いでいる(と言って、頼まれた)。
さて、どうする?
このケースでは、どちらを採るべきか。
- 可能な限り自動化の仕組みを作りながら、全体の作業を進める。
- とにかく手動で作業を進める。自動化は、また今度。
結果、今回は「1.」で可能な限り自動化しながら作業を進めた。
理由は以下のとおり。
1.正味の工数で考える
手動で3時間かかる作業に対し、自動化の仕組みづくりに2時間55分かかったとしても、自動編集が10秒で終わるなら、私は迷いなく自動化に取り組む。
手動作業時間 ≧ 仕組みづくりの時間 + 自動編集時間
であるならば、時間的に見て自動化の方がお得と考える。
しかも次回からは、仕組みづくりの部分が0になる。回を重ねるごとに、お得度も増すことになる。従って自動化の時間が手作業のそれより多少長引いたとしても、やる価値はあると思う。
ただし、周囲からは理解されない場合もある。何やってんの?遊んでいないで作業して!って怒られる恐れもあるため、あくまで良識の範囲で実施しよう。
2.単純ミス削減効果が期待できる
打込みによる転記や、手作業によるカット&ペーストは、間違いを起こしやすい。作業者による正誤確認に加え、本人以外による追加確認が欠かせない。
一方で自動転記は、少なくとも単純な作業ミスによる誤転記が起きにくい。しかも一瞬で終わる。その点で、こちらの方が優位と考える。
ただし、自動的に作業が進むと、結果が全て正しいと錯覚してしまう場合がある。仕組み構築からしばらくは、自動化のロジックが正しいことを充分に確認しながら運用する必要があると思う。
3.論理的思考の成熟効果がある
自動化するためには、一連の作業を理解したうえで、論理的に仕組みを構築する必要がある。この作業は、仕組化の回数を重ねるごとに論理的思考能力を成熟させ、次第に自動化を短時間で実現できるようになる。
また自動化が進めば、インプットとアウトプットにも意識が及ぶ。どのような形のデータが欲しくて、どのような形で渡してあげればよいか。前後工程に配慮が及ぶようになり、次第に意識の及ぶ範囲が広がっていく。自動化に拘らず、運用の変更など様々な手段での業務改善もできるようになるだろう。
ただし、論理的な正しさを振りかざして前後工程に「押しつけ」を行うようになると、大事な大事な人間関係を壊す危険性が高い。バランスが大事。
4.機能を細分化してストックできる
毎回一から十まで仕組みを作る必要はない。今まで誰もやったことが無い作業が、日常の作業で登場するのは稀なこと。作業を適度な大きさの要素に細分化すると、今までやった内容が必ず含まれている。
例えば、作業の一連の流れが
前回:A ⇒ A’ ⇒ B ⇒ A’
今回:A ⇒ A' ⇒ B' ⇒ A'
である場合、「B'」以外は前回からの流用が期待できる。また「B’」は前回作成した「B」を少し改造するだけで良いかもしれない。BとB’を共通にできれば、なお良い。このようにして次々と、細分化された機能のストックが増えていく。
ただし、だんだん凝ったことをやるようになると、他の人に渡してもメンテナンスできなくなる。他者による作業が、運用も含め持続可能であることを意識する必要がある。
5.何より「楽しい」
1~4は、実は、表向きの言い訳。単純作業は単調でつまらないし、VBAによる自動化は、純粋に楽しい時間だからというのが本音だ。。給料をいただいて楽しい時間を過ごして、自動化による時短とミス低減を実現し、時には、人に感謝されることすらある。こんなに良いことは無い。
ただし、VBAのおかげで早く帰られるようになった場合、「早く帰っている」という事実だけで「さぼっている」と誤解されたり、不当に評価を下げられたり、、妬まれることだってあるかもしれない。
個人的には、できるだけ可能な範囲で自部署に貢献し、しかも表舞台には立たず、皆が「何だか良く判らないけど、最近楽になってきた?」と感じ始めたら100点と思っている(※この生き方は、他の人に勧められるとは思っていません)。
ということで今日も何だかんだ理由を付けながら、業務改善に勤しんだのでした。
参考まで。