みたにっき@はてな

三谷純のブログ

貧乏なシステム開発

学内で開かれた「筑波大学情報化シンポジウム」で話を聞いてきました。
IT化が叫ばれて、なんでもかんでもシステム化が推し進められ、システムは肥大化するばかりな昨今ですが、今日聞いた話は非常に面白かったです。

「システムの規模が大きくなると開発の成功率は著しく低下する」
「コストをかけたシステムは成功率が低い」
という過去のデータを前提に、とにかく「開発するシステムは小規模、低コストが良い」ということが主張されていました。
まさにその通り。と、強く共感した次第です。

従来のお役所的な考えから言えば、膨大な予算を取ってきて、大手のシステム開発業者に丸投げすれば万事OKだったと思いますが、大学も法人化されて節約できる所は節約すべきとの認識に変わってきているのかもしれません。
「予算をかければ良いシステムができる」という発想を持っている人もまだまだ多いと思いますが、実はそうじゃないんだ。ということを認識すべきだと思うし、自分の所属する大学で情報化を進めている先生が、そういう認識を持っているということは頼もしいことだと思いました。

なぜ予算をかけてもうまくいかないか、という理由は一言で言えば「使う人と作る人が別だから」です。使う人の要求は作る人には正確に伝わらず、さらに要求は二転三転するものです。年月をかけてシステムを開発しても、完成した時には使い物にならない、というような話はよく耳にすることです。

そこで今日話されていた内容は、長い間仕様が変化しない基幹システムだけは外部委託し、その他のアプリケーションは全て自前で(学内で)作ってしまおう、ということです。
もう少し具体的に言うと、大学の業務といえば学生の出席や成績の管理などがメインになるため、それらの基礎データはサーバーで集中管理するものの、そこから出席簿や成績表、授業アンケートの集計などを実行するのは、自前で開発したアプリケーションで対応してしまう、ということです。
自前でアプリケーションを開発するというとまた大変だと思うかもしれませんが、今回はサーバーが吐き出すものを単純なCSVファイルに統一し、それらの処理をほとんど全てExcelのマクロで対応してしまうようにしたそうです。この手のマクロの開発は、現場に密着した学内でこそ可能になるのだそうで。
このようなアプローチを「貧乏な」と表現されていたのが非常に印象的です。
このようにすることで、細かい仕様の変更に柔軟に対応できるようになるそうです。

そういえば数年前、事務作業を軽減するためのWebアプリケーションを開発したことがあるのですが、このときは顧客に送付するための書類をPDFファイルにする機能をサーバーに組み込むことになりました。これなど、まさに開発費とメンテナンスコスト増大の元で、その書類のフォーマットに変更が生じれば、またシステム開発元に新規開発を依頼することになってしまうわけです(開発元としては仕事が増えて嬉しいかもしれませんが)。
このような場合も、まずはCSV形式での出力だけサポートし、後はローカルのPCで動作するマクロで対応してもらえば、劇的にコストは下がるのではないかと思います。

と、いいことだらけのような気もしますが、この手の開発手法でシステムがうまく機能するには、ボランティアよろしく熱心に現場のニーズを聞いて、すぐに開発に着手してくれる人材が無くてはならないわけです。
今日の話を聞いて、事務処理を担当される方はこれからはVBAの知識の有無が効率を大きく変えていくことと思いました。コンピューターリテラシーとしてのプログラミングの知識の重要性も考えないとならないですね。