自分は自分自身のサンクコストを捨てれる方だとは思っている。そもそも仕様解釈が間違っていたり、実装方針間違っていたり、あるいはより良い解決策があればそれを選択すべきだと思っている。
しかしながら、サンクコストを捨てれるかどうかは人に依る。 大きな方針転換があったときに「せっかくこんなに工数かけて頑張って作ったのに!」みたいな反応する人も少なからず居る。 また、たとえサンクコストを捨てれる人であっても気を使うことが多い。
ということで他人のサンクコストは捨てづらい。というか捨ててもらうには仕事の進め方やコミュニケーション戦略が必要になる。個人的には以下を気をつけたほうが良いのかなと思っている。
- その人との信頼関係を作る
- サンクコストを捨てやすい状況を作る(大きなサンクコストにならないようにする)
- サンクコストを捨てなくてもよくする
- 情報を丁寧に伝える
1 はまぁそりゃそうだよねという話。信頼関係や心理的安全体があればサンクコストは捨てやすくなる。
2 は例えばタスクを細分化して、サンクコスト自体を下げて捨てやすくする。PRならレビューできる粒度で分割するし、コードじゃなくても何をやっているかの進捗共有をこまめにやっていく、とか。
3 も似たような感じで、そもそも手戻りが多くなったりサンクコストが大きくなってくるのは後ろの工程になるので、前の工程、例えば「要求整理」「要件定義」「設計」といった前提のところからちゃんとレビューなり一緒に作業していくことで、認識のズレが少なくなる。
2 や 3 はすでに大きなサンクコストになっている場合は対応できない。その場合、4 で前提となる情報を丁寧に伝えていき、少しずつ誘導していくような形になりそう。
「せっかくこんなに工数かけて頑張って作ったのに!」といった問題が発生するのは一見するとその人のサンクコストの捨てづらさの問題もあるけど、単にコミュニケーションの問題でもあったりする。もっと事前にレビュー入ってたら良かったな、とかもう少し丁寧に情報共有すれば良かったな、とか。
ところで生成AIはそのへんのサンクコストが低いので捨てやすい。この「捨てやすさ」が生成AIの武器なんだろうなぁとは思ったり。