私は現在、2つの実行可能なソフトウェア設計/ソリューションから選択しています。ソリューション1は実装が簡単ですが、一部のデータを独自の形式でロックし、後で変更するのは困難です。ソリューション2は実装が困難ですが、後で変更する方がはるかに簡単です。
これについてYAGNIに行くべきですか、それとも意思決定に出口コストを組み込むべきですか?または別の質問をすると、出口コストはTCOの一部ですか?
これを持ってお客様に戻って、退出費用が適切だと思うかどうか聞いてみようと思っていますが、まずはコミュニティの考えを知りたいと思います。
P.S.出口費用は正しい用語ですか?
出口コストはTCOの一部です([〜#〜] t [〜#〜]はtotalの略です)が、知らない限り特定するのは困難です- 事前にシステムが持続する期間。言い換えれば、システムが正確に1年間使用され、1年後に廃止するのに52,000ドルかかることがわかっている場合、それをカバーするために運用予算に1週間に1,000ドルを追加することにかなり自信があります。
システムの寿命がわからない場合、そのモデルはウィンドウの外に出ます。理論的には、システムは永久に使用され続ける可能性があります。つまり、システムのシャットダウンにお金がかかることはありません。あなたが今考慮に入れるものはすべて今日のドルになります、そしてそれらの数字はプロセスをより簡単に(またはより難しく)する労働率と技術の変化のために今から5年後には無意味になるでしょう。
システムから移行するために何が必要かを顧客に伝え、その時期が来たときに交換に関する決定にそれを考慮に入れるのが最善です。
(そして今、この答えを書いたので、私はこれをオフトピックとして閉じるために投票することができます。)
YAGNIはその代わりに素晴らしいルールですが、この場合に適用すべきかどうかはわかりません。ここでは、将来のコストを見積もっています。これは、将来の要件の変更を考慮する必要があるアクティビティです。あなたが実装を書いていたら、それは別の話になるでしょう!
原価計算を行うことをお勧めしますが、なぜそれを行ったのかを顧客が理解していることを確認してください。彼らがあまり技術的でない場合でも、「他の何かを使用することをすでに考えているのであれば、それは良い解決策にはなり得ない」という趣旨の何かを言っても驚かないでください。
コスト見積もりを行う/提示するときに考慮すべき、よりきめ細かい側面があるかもしれません。
Excelファイルの状況についてのあなたのコメントから、私はそれを次のように見ています。
YAGNIはその構文解析ステップに適用されると思います。現在の構造に関する知識を保持していることを確認してください。ただし、まだ解析を実装しないでください。
さらに、解析されたデータ構造は、思ったほど柔軟ではない可能性があります。要件は、さまざまな情報/ファイルの保存にも当てはまる可能性があります。つまり、テーブルを更新/拡張する必要があります。
95%確信が持てない場合は、将来変更される予定です-解決策1-YAGNI =)
確かにそれはあなたの顧客とあなたの経験に依存しますthis顧客のために何かをプログラミングします。
私の経験では、再発明されたホイールはあなたが思っているよりも再発明に時間がかかり、外部ホイールは交換が簡単になる傾向があります。どちらの種類のホイールも、購入すると、決定したときよりも見栄えが悪くなる傾向があります。
#1は実装が簡単だと本当に思っていて、#2にどれくらいの時間がかかるか疑問に思っているなら、私はその質問に耳を傾けます。今すぐ#1を実装し、より大きな設計について考えてください。後でそれを再発明したい場合、それはあなたを助けます。
逆に、#1が思ったほど簡単に見えなくなった場合は、#2にジャンプします。