一般人がプログラミングで自動化するということ

スポンサーリンク
スポンサーリンク

仕事のプログラミングで気をつけること

「Excelを自動化して業務を効率化したい。」「今やっている手作業の仕事を自動的にやれるようにしたい」など、事務の人から他の多くのサラリーマンまで仕事の効率をあげたいと望んでいると思う。最近はプログラミングが一大ムーブメントを起こしており(たぶん)、その流れはいよいよ増してくるかもしれない。それはそれでいいことである。しかし、仕事でプログラミング(とくにExcelマクロ)を扱う際、気をつけなければいけないことがある。

自動化する目的を明確にすること

つまり、自動化するなら自動化する目的、その理由を明確にしなければ業務を効率することはできない点である。それが曖昧になっていれば、逆に仕事の効率は下がってしまうだろう。すなわち、プログラミング=自動化できるとは必ずしも結びつかないのである。したがって、業務で効率化をする際、自動化に向いているもの・向かないものを区別して、取り掛かることが望ましい。

自動化に向くもの

では、この区別はどうやって行うか。計算式を使った演算や文字列の検索など、ごく簡単な機能であれば自動化しても差し支えはないだろう。どんなに計算が得意な人でも、計算間違いは必ず起こるからである。こういったものは自動化しなければ効率が悪いし、むしろやらなければスピードが圧倒的に下がる。そういった事態が起こらないように自動化によって穴を埋めるのはよいことである。

仕事を見える化する

もう少し複雑なケースの場合はどのように行うか。こういったものは市販の参考書やネットに載っていることが少ない。会社やその業界、ミクロの単位では会社によってやり方が違うからである。こういったものは、一気に「こうしたい」と思うのではなく、現状の仕事の流れを文字に書き起こすことが重要になる。

つまり、一度仕事の手順を「見える化」するのである。ただ漠然と書いていくのではなく、具体的な手順を一つ一つていねいに細かく書くことで、自動化の範囲を見極めるのである。まず、変えるには仕事の内容を把握しておくのである。

細かく書くということ

細かく書くということは、文字通り一つ一つの動作を書くことである。「1行1列目のセルをコピーした後はこのセルを動かして」というように。これらの手順を詳細に文字として記述していく。こうすることで、コンピュータが自動化するものと人間が行うことの区別をつける(人間が行なっているものをコンピュータにやらせるわけであるから、一つの抜けがあってはならないことを考えれば当たり前かもしれないが)。そして、区別がついたらどの部分をどのように、どこまで自動化するのかを決める。こうすることで、自動化によってもたらされる恩恵をあずかる。

自動化で終わりというというわけではない

区別がついたら自動化するものは自動化していく。それで構わないが、それで終わりというわけでもない。自動化したら自動化された分の整合性が保証するものを作らなければならない。プログラマやSEによく見られる誤解であるが、なんでも自動化することで問題が解決するのではないからである。自動化にともなう品質の保証、それは確認事項だったり、それを保障するためのツールだったりするが、一般的にはテスト項目が当てはまるだろう。テスト項目によって品質の保障を行う。このような手続きをおこなってはじめて効率化できるのである。

 

コメント