以前どこかに書いた記憶があるが、コンピュータソフトウエアの設計や開発に詳しい知り合いと雑談していた際、多々あるプログラミング言語や開発ツールの中で一番生産性が高いものはどれか、という話になった。
コンピュータを使ってソフトウエアを開発する「CASE(コンピュータ支援によるソフトウエアエンジニアリング)」や「4GL(第4世代言語)」というツールが話題になっていた頃だから20年以上前になる。知り合いはCOBOLはアセンブラの何倍、CASEや4GLはCOBOLの何倍、と数字を挙げて生産性を説明してくれた。
CASEや4GLは死語になったが当時のやり取りを今でも覚えているのは知り合いの次の発言が印象的だったからだ。
「CASEや4GLよりずっと生産性が高いのはExcelですね。Excelのマクロでこなせる処理をプログラミング言語で記述しようと思ったら大変です」
Excel利用の長所と短所
あらゆる技術には長所と短所があり、効果が出る半面、弊害も生じる。組織内外のあちらこちらにExcelを使った仕組みができてしまうと、いろいろなデータが出現し、整合性をとるのに苦労する。マクロを記述した当人以外には処理の理屈が分かりにくく、仕組みの維持が難しい。人事異動によって「誰も直せないが日常使われるExcelの仕組み」が組織内外に残ってしまう。
日経コンピュータ編集部に在籍していた2007年、若手と相談し、『「Excelレガシー」再生計画』という題名の特集記事を書いてもらった。コンピュータの世界でレガシーは悪い意味で使われ、メインフレーム(大型汎用機)を使っている情報システムを指すことが多いが、Excelを使った仕組みもレガシーだ、という内容の特集であった。
今思うとレガシーは遺産であり悪いものと決め付けられない。以下の記述では「Excelの仕組み」などと書き、レガシーという言葉は避ける。
古くて新しい話、生産性の向上
冒頭の生産性はソフトウエア開発に関してだが、業務の生産性向上は古いお題でコンピュータの出現前から取り組まれてきた。ここへ来て生産性が取り沙汰されているのは経済の低成長、人手不足、働き方改革との関連からである。
価値が高い成果を出すやり方を編み出し、前より少ない人員でこなせれば素晴らしい。だがそれが難しいから皆悩んでいる。当たり前のことをくどくど書いているが生産性の話は当たり前にならざるを得ない。「過去に無かった生産性改革の手法です」と唱える人が出てきたら疑ったほうがよい。
価値の追求はさておき、より少ない人員で作業をこなすには作業の内容や流れを見直し、効率が前よりは良いやり方を考えることになる。見直したやり方が必要とする新しい情報を情報システムから適宜出力できると便利である。本来ならやり方の見直しと実行を情報システムの設計と導入と一緒に進めたい。
ところが既存の情報システムや処理の仕組みの大半はメインフレーム、オープンシステム、パソコン(Excel)のどこにあったとしても修正がやりにくい状態にある。現場の業務部門が情報システム部門に依頼してもなかなかシステムを直してくれない。Excelなら自分で直せるかというと前述のように簡単ではない。
そうなると見直したやり方を人手でこなすしかない。多少なりとも見直しているから生産性は少し上がる。人手を正社員から派遣やパートに切り替えればもっと上がる。見直したやり方にそったExcelの仕組みを新たに作ればもう少し上がる。