kmizu:とても難しい問題だと思います。正直なところを書くと、私も含めてほとんどのエンジニアにとって技術的負債の解消方法については「良い方法がまだ見つかっていない」が正確なところであり、各社・各技術者が試行錯誤している最中でしょう。最近は技術的負債について書かれた本や記事がたくさんありますが、それらもあくまでも「我流」であって全般的に適用できるほどの知見にはいまだ至っていません。
あえて言うのなら、これは「技術の問題」だけで済む問題ではないし「組織の問題」ですらないと感じています。持論になりますが、技術的負債を解消することの重要性をなんとなく理解していながらも常に後手後手に回る背景には、人間の「先延ばしグセ」があると言えます。
比喩的な話をすると、私たちは適切な運動にバランスの取れた食事が重要であることは「知って」いますが、一方で、本当に理想的な食生活や運動をできている人はほんのわずかです。多くの人は(私も含め)「今日は特別な日だから、ちょっと食べすぎてもいいや」「今日は寒くてだるいし、運動しなくていいや」などと言い訳をつけて、健康に良くないとわかりつつもついついやるべきことを先延ばしにしてしまいがちです。
個人レベルでこのような問題を解決するには
・周りに目標を宣言してしまって、先延ばしグセを抑止する
・(サポートしてくれる人がいるなら)その人と一緒に目標に取り組む
といった「個人の意志に頼らない」方法が必要になります(強靭な意志によって、自分一人でなんとかできる人もいますが、そのような特殊な才能が自分にあるとは思わない方がいいでしょう)。
これを企業に当てはめるなら、技術的負債について監視するチームを別途組織するといった方法が考えられます。技術的負債の解消が後手後手に回りがちなのはおそらく、解消しようとする当人がプロダクトについて責任を負っているからであり、そのような問題を解決するには「他人」はどうしても必要なように感じられます。
一つだけ言えるのは「個人で何かを心がける」のは必然的に限界が(システム的な意味で)あるので、技術的負債を解消することが利点につながるシステムやチームを組織するということです。技術的負債を解消するインセンティブがなければ個人がいかに「心がけても」技術的負債を解消するのは無理な問題だと現在は感じています。
まだまだ答えがない問題ですが、何かの参考になれば幸いです。