1.設計から、実際に動かす段階へ
これまでの開発日記では、HLR Calculation Engineを作るために検討してきたことを紹介してきました。再現性の確保、入力条件の記録、係数や計算履歴の管理、システム全体の構造などです。
しかし、どれだけ設計を考えても、実際にプログラムを動かしてみなければ分からないことがあります。
そこで私は、すべての機能を完成させる前に、必要最小限の機能だけを備えた小さな計算エンジンを作って動かすことにしました。これがMVP-0です。
2.最初から実際のインフラを計算する必要はない
ここは、読者の皆さんにとって少し意外なところかもしれません。
最初の計算エンジンでは、実際の橋梁や浄水場の詳細な積算データは使っていません。動作確認のために用意した合成データを使いました。
例えば、架空の施設について、建設に10人年、年間の運転管理に0.5人年、一定期間ごとの補修に2人年という条件を設定します。評価期間を100年間とすれば、決められたルールに従って人的労働量を積み上げることができます。
もちろん、この数字に現実のインフラを評価する意味はありません。目的は、設定した条件をプログラムが正しく読み取り、決められた計算を実行できるかを確認することです。
つまり、実際の数値が正しいかを検証する前に、まず計算の仕組みそのものを検証するということです。
3.同じ入力から、同じ答えが出るか
ここが今回の記事の中心です。
以前の記事で、HLR Calculation Engineの最初の目標を「同じ条件なら同じ答えが出ること」にしたとご紹介しました。MVP-0では、この基本的な動作を確認します。
同じ入力条件、同じ係数、同じ計算ルールを使って、何度計算しても同じ結果が出るか。また、入力条件を変更したときに、その変更が計算結果に正しく反映されるか。こうした基本的な確認を積み重ねていきます。
ここで強調したいのは、計算結果の数字が大きいか小さいかではなく、計算が決められたルールどおりに動いているかどうかです。
なお、再現性を確認できることと、現実のインフラについて正確なHLRを算出できることは、別の段階の話です。
4.小さなエンジンでも、大きな一歩
MVP-0には、まだ多くの機能がありません。さまざまなインフラへの対応、実際の積算資料との連携、係数データベースの充実、複数方式の比較などは、これから取り組む課題です。
しかし、基本となる計算処理が動くことを確認できれば、その土台の上に新しい機能を追加していけます。
これまで紙の上で考えていたHLRの計算ルールが、実際に動くプログラムになりました。小さな一歩ですが、HLRを実用的な評価指標へ発展させるための重要な段階だと思います。
5.ここから、実際のインフラへ
MVP-0で確認したいのは、計算エンジンの基本的な仕組みです。
次の段階では、橋梁、水道、下水道、建物、発電設備などのReference Caseを使い、計算ルールや入力条件の扱いを検証していきます。そして、実際の積算資料や維持管理データを取り込みながら、計算できる対象や精度を高めていくことを目指します。
最初のHLR Calculation Engineは、まだ小さなものです。
しかし、これまで考えてきた仕組みが、初めてプログラムとして動き始めました。
ここから、少しずつ計算できる対象を増やし、実際のインフラ評価に使えるエンジンへ育てていきたいと思います。

コメント