法務パーソンがプログラミングを学ぶ
業務の自動化とプログラミング思考
法律事務所からインハウスに転向してしばらく経ちますが、感じることは、法律知識の不要な事務作業がけっこう多いということ。毎日、契約審査や他部署からの法律相談に対応するなかで、企業人として仕方がないと思ってやっている自分がいます。
情報通信業の会社に勤務しているということもあり、社内エンジニアと会話する機会がとても多いのですが、私は、システムのプロである彼らをとても尊敬しています。というのは、彼らは、ルーティンのつまらない業務があれば自動化しようと考えます。その思考がとても好きなんですね。
でも、プログラミングを学習したところで、目の前の業務に活かせるのかどうか・・・。結論、すぐには活かせないが、プログラミング思考が身につくと、業務の生産性が徐々に上がっていくというのが私の考えです。特に、順次・分岐・反復というプログラミングの基礎的な考え方は、普段の法務業務でも十分に流用できますし、ある業務を自動化できるかを考えるときにとても役に立つ考え方なんじゃないかと思います。
どの言語を選ぶべきか?
プログラミングを学ぶとして何から学べばいいか迷うかもしれませんが、現在の状況なら、おそらくPython一択です。Googleのサービスを利用しているならJavascriptがいいでしょう。
Pythonなら、パソコンを使う社内業務の自動化なら大抵カバーできるはずです。Pythonは、機械学習やデータ分析などにも対応でき、できる幅が広がるプログラミング言語です。
たとえば、私は、月次の法務案件の報告について、Pythonで集計し、報告書を作成しています。自動化前は、毎回30分程度かかっていた報告書が、現在は年と月を入力して30秒以内で作成できています。1年12回の報告で約6時間程度と小さいことですが、何より無駄だと感じていたストレスから解放されたことが何よりうれしいです。
もしも、GMail、スプレッドシートをよく使うならGoogle App Script(通称、GAS)が便利です。例えば、契約書のレビュー依頼をGoogleフォームから受け付けることで、そのまま案件管理ツールとしても活用できます。
最近、Excelファイルにある一覧名をもとに約370個分のフォルダを作成するという作業がありました。部下にお願いすることもできたんでしょうけれど、自分でもうんざりしてしまう作業を部下に振りたくありません。
おそらく、地道に作っていくと1個あたり20~30秒、全部で2時間ぐらいの作業です。最初10個くらい作っていたときにうんざりした気持ちになりました。
それから、はっと気づいて、Google App Scriptでコーディングして、大体50分くらいかかったのですが、一気にフォルダを作成できました。作業が終わったときには何とも言えない解放感があります。
失敗も多いが・・・
このようにプログラミングによる業務の自動化の良いところを語ってはいるものの、実際の法務の案件の多くは、全体的にみれば自動化できる業務が少ないように思います。たとえば契約レビューなどを見ても、分岐が複雑すぎて職人的な作業が多いんですね。
また、無理に自動化しようとしてかえって手間が生じてしまうこともあります。自動化のプログラムを組むときに、あれもこれもと考えて失敗してしまうこともあります。結局、粛々と作業していった方が早かった、ということも何度もありました。ただ、どの失敗も振り返ることで確実に自分にとっての糧になります。
ここ数年、デジタルトランスフォーメーションが流行っています。所属会社の営業担当と話すと、セールスのときにお客さんの食いつきがいいキーワードなんだそうです。
自らの法務部門をDX化するにあたって、プログラミング思考は必ずブキになります。最初は、Pythonの入門書を買って、手を動かしながら勉強するとよいでしょう。地道にやっていけば、数年後には確実に自分の力になります。
何だったら、現在の小学校ではプログラミングの授業があるので、子どもと一緒に楽しむこともできます。いつか実際に自動化したプログラムの記事を書いてみようと思います。