💸

【クソアプリアドベントカレンダー】技術的負債リボ払いシミュレーター

2024/12/15に公開

こちらはクソアプリアドベントカレンダーの12/15の記事です。

技術的負債の返済どうしよう…

「納期に追われたり、スキルの兼ね合いで技術的負債が溜まってきちゃった…どうしよう」
「そんなあなたに技術的負債のリボ払いを紹介しよう」
「技術的負債のリボ払い?なんですかそれ?」
「毎月、決まった行数のみを返済していくやり方さ。同じ行数なので計画が立てやすいのが特徴だ」
「便利そう!でも、落とし穴があるんじゃ…?」
「もちろん、毎月の残高に利息がかかるんだけど、それは分割払いでも同じだろ?分割払いは返済回数が決まっているから、おおくの負債があると毎月の返済が大変になってしまう。だけどリボ払いなら定数行の返済だから毎月の返済楽チン!」
「なんか良さそう…」

数ヶ月後

「うわー、全然負債は減らないし、むしろ利息がたまるばかりで開発が進まない!」

ご利用は計画的に

そうならないために技術的負債リボ払いシミュレーターを作りました。

https://crayfisher-zari.github.io/revolving-simulator/

技術的負債のリボ払いという手法は間違った選択肢ではないと思います。技術的負債を減らしていくにも工数が必要ですし、開発と同時に進めるような環境ではいかにその工数を捻出するか簡単なものではありません。そのような中で決められた工数の中で技術的負債を減らしていくという手法はありえるものと考えています。

しかし、先の小話のように返済計画をしっかりしないと技術的負債を減らせません。そこで現在の負債と毎月の返済行数、利率を入力すれば、どれくらいの期間で返済できるか可視化しやすくするシミュレーターを作りました。

グラフで毎月の残高が見えるほか、毎月の返済がどれくらい元本に充当され、どれくらい利息にあてられているかもわかる表もあります。ほかにも、途中で新規の負債が発生していった場合の計算もできるようになっているのが特徴です。


全然減らない…

これを使えば必要な毎月の返済工数の設定が行いやすくなるでしょう。なお、行数を円と読み替えれば普通のリボ払いのシミュレーターとしても使えます。

余談:リボ払いの怖さの仕組み

リボ払いの怖さは返済期間にポイントがあります。負債の1/10の返済設定で利率15%なら11回払いで返済元本に対する総利息も約7.5%程度で済みます(途中で新規の借り入れがない場合)。しかし1/20なら24回払いで利息が15%、1/40なら56回払いで利息が39%とどんどん膨れ上がります。

返済期間が伸びれば伸びるほど利息が複利で効いてくるので、総利息が増えていきます。というのも、利息は元本に対して発生しますが、毎月の返済が少ないとその多くが利息の支払いに使われて元本が減りません。結果、毎月返済しても全然元本は減らず苦しくなるのです。ここまであくまで途中での借り入れがない話でしたが、新規で借り入れがある場合さらに返済期間が伸びるので…その先は想像がつくでしょう。

作った技術とか感想とか

使用技術はシンプルにVue.jsのSPAです。グラフもライブラリなどは使わずDOMで表現しています。それ以外には特筆すべき技術はありません。

全体のデザインのイメージとしてDribbleなどによく掲載されているダッシュボードデザインみたいのに寄せてみました。心残りとしては、棒グラフの横スクロール部分です。ここはスクロールバーの有無でグラフサイズが変わってちょっと取り回しが悪かったのでscrollbar-gutterを入れてみたのですが、水平方向スクロールではうまく適用されなかったです。なくなくスクロールバーを非表示にしました。

それでも自由にデザインや実装ができたので楽しかったです。

Discussion