ルーティンワークをシステム化する

フリーランスに限らず一人で仕事をする場合、結構困るのがルーティンワークでしょう。特に会社などの組織では誰かが(またはどこかの部署)が対応してくれるようなルーティンワークはとても面倒で、かつ忘れがちです。たとえば、クレジットカードの利用明細をWebページから取得するなどというちょっとした作業は重要だけれども忘れがちです

そこで、私はプログラマですから少しの手間でルーティンワークをシステム化できないだろうかと考えてみました。

間休画像

1.ルーティンかできる仕事の抽出

まず行ったことは、ルーティンかできる仕事とそうでない仕事を明確にすることです。たとえば、経費の入力も定期的に同一の経費を計上する場合と、毎月変動はあるけれども経費として計上する場合があります。前者の場合、完全にシステム化することができますが、後者の場合は最終的に人の判断が必要になります。

また、その仕事に期限があるのかないのかも重要です。たとえば、今回のクレジットカード利用明細の自動取得は明細を取得できる期間が最短で3ヶ月程度しかないため、忘れたことに気づかなかった場合のインパクトが大きいなぁと思ったのがきっかけでした。データの鮮度や取得要件、発生要件は重要なものです。

2.仕組みと対応方法を考える

リストアップするといろいろとあるのですが、今回はクレジットカードの利用明細を自動で取得する部分をシステム化することにしました。理由はルーティン化しやすいことと、その重要度が高いためです。クレジットカードの明細を取得するということ自体は非常に単純で、プログラムを使わないで100円程度毎月出せば明細を郵送してもらうことも可能です。(これで問題がなければそれでも良いと思います。年間のコストは1,200円程度です。)

ただ、私の場合、可能な限り情報は電子データで取得したいという制約がありますので、プログラムを作ることにしました。とはいうものの、残念ながらクレジットカード会社からは明細情報を取得するよなインタフェースは公開されていませんでしたので、ちょっとどうしようと考えたのですが、今回はスクレイピングで対応することにしました。

スクレイピングとは、削り取るという意味なのですが、ブラウザで表示する情報から必要な情報だけ抜き出すという意味合いで使われることもあります。基本的にブラウザで表示する情報はプログラムで扱うことができる構造化されたデータ(表示されるデータによって扱うこともできませんが…)ですので、プログラムが自動でデータを受信し、必要なデータだけを保存することは可能なわけです。

ということで、仕組みは非常に単純で私がブラウザで操作することをプログラム化して、そのプログラムを定期的にするようにします。24時間稼働している省電力なノートパソコンが夜中に自動的にデータを取得して、取得したデータをDropboxへ保存するようにすれば私のノートパソコンで取得した明細を閲覧することが可能になるわけです。

(BeagleSoftではサーバーをすべてレンタルしています。電力消費量や災害などさまざまな点を考慮した場合に自前のサーバーよりもレンタルする方がトータルコストに見合うと考えています。また、レンタルサーバーですのでプログラムのインストールなどもとても簡素です。レンタルサーバーが利用できなくなった場合にもすぐに対応できるようにするためです。)

3.終わりに

さて、これにてひとつ面倒な作業が減りました。もしみなさまの中で面倒だけど重要な仕事があるならシステム化できないか検討してみてください。100の仕事を0にすることは難しいですが50~30にすることは案外可能なものです。人は人にしかできない仕事に専念するべきですし、そのためにシステムをどう活用するかがビジネスでは重要ではないかと思います。そのような観点でシステムを考えると、また違った側面が見えてくるのではないでしょうか。