HLR(Human Labor Requirement/人的労働必要量)という考え方について、このブログで少しずつ紹介を始めています。
HLRを一言で表すなら、私は最近、「労働力の積算」と説明しています。
橋をつくる。
水道施設を運転する。
道路を点検する。
壊れた設備を修繕する。
古くなった施設を更新する。
社会インフラを長く使い続けるためには、さまざまな場面で人の労働が必要です。
では、一つのインフラを建設してから維持し、最後に更新・廃止するまでに、合計でどれくらいの人的労働が必要なのでしょうか。それを積み上げて評価してみよう、というのがHLRの基本的な発想です。
考え方だけなら、それほど難しくない
ところが、HLRについて考え始めた頃から、一つ気になっていたことがありました。
「こんな指標があったらいいですね」で終わってしまっては、実際のインフラ選択には使えません。
例えば、
Aという方式とBという方式では、どちらが少ない労働力で維持できるのか。
ある地域の水道を今後維持していくには、どれくらいの労働が必要になるのか。
そんな問いに答えるには、実際にHLRを数字として計算できることが必要です。そこで最初は、いくつかのモデルケースを使って、手作業で人的労働量を積み上げてみることにしました。やってみると、ある程度は数字になります。
一方で、実際に計算してみたからこそ、次の問題も見えてきました。
同じ条件なら、同じ数字になるのか
手作業で一度数字を出せたとしても、別の日にもう一度計算したら結果が変わる。
計算する人が変わったら違う数字になる。
どの資料を使ったのか分からなくなる。
これでは、社会インフラを比較するための指標としては使いにくいでしょう。HLRを本当に使えるものにするなら、単に計算式を作るだけでは足りない。
同じ条件で計算すれば、同じ結果が得られる。
そして、
なぜその数字になったのかを、後から確認できる。
そんな仕組みまで必要なのではないか。そう考えるようになりました。
「指標」から「Calculation Engine」へ
そこで現在、HLRを実際に計算するためのHLR Calculation Engineの開発を進めています。
まだ開発途中です。
実際に作り始めると、「人的労働を積み上げる」という一見単純な話の中に、考えなければならないことが次々と出てきました。
入力するデータをどう扱うのか。
過去の計算をどう残すのか。
計算の根拠をどうたどれるようにするのか。
そして、特定のインフラだけではなく、さまざまな社会インフラに使える仕組みにできるのか。
この「HLR開発日記」では、完成したシステムの仕様書を書くのではなく、開発の途中で何に気づき、なぜそのような仕組みが必要だと考えたのかを少しずつ紹介していこうと思います。
次回は、Calculation Engineを作るより前に行った、「まずは手計算でHLRを試してみた」ところから振り返ります。

コメント