恢徳堂のヨーシャさんのブログ

技術的負債との戦いにおいて重要なこと

December 21, 2017

はじめに

この投稿はコミュニケーション Advent Calendar 2017の12月22日分の投稿になります。

会社でマニュアルを書くために導入したSphinxがまるまる技術的負債になり、素のHTMLで書き直されるという悲しい状態になっているヨーシャことIosif Takakuraです。

今回は技術的負債との戦いにおいて重要なことについて書きました。
そもそも、このコミュニケーション Advent Calendar 2017に投稿しているということで重要なことがコミュニケーションであろうことは予想がつくと思われます。

技術的負債とコミュニケーション

なぜ技術的負債は後回しにされがちなのか

では、以下のスライドをご覧ください。

技術的負債との戦い方 from Iosif Takakura

このスライドで挙げたように、技術的負債はお金が絡み、しかも一人ではなんともならないものです。
さらにやっかいなことに、エンドユーザーには技術的負債を解消する価値が見えづらいのです。
そうなってくると、エンドユーザーにとって技術的負債の解消は後回しになってしまうのです。

技術的負債を解消することは長期的に考えてプラスである

実際は技術的負債を解消することにより、システムへの機能追加や不具合対応がしやすくなるため、長期的に考えればエンドユーザーにとってもよいことがあるのです。
しかし、人間は長期の利益より短期の利益を優先する習性があるようで、対処すれば少しプラスになり、大きなマイナスを負うことが避けられる技術的負債の解消より目先の機能追加に走ってしまいます。
そうなってくると、技術的には正しい話であっても、顧客の利益につながらないと判断されてしまいます。

技術的負債を解消するには説得が必要である

そのためには、チーム内だけではなく、なるべく多くのステークホルダーに、今のままでは問題だらけだということを理解してもらわないといけないわけです。
そこで、もっとも重要なのが当然ながらコミュニケーションスキルです。
それも、相手の利益につながることをうまく説明しなければいけません。
そこで、重要なのは「数字」と「お金」でうまく可視化するということが必要になります。
「現状維持=不利益」で、「技術的負債の解消=(長期的には)利益」ということを訴えましょう。
訴えるとすれば、以下のポイントです。

最後に

何事も説得力が大事です。

参考文献

技術的負債
技術的負債とはどういうこと?
技術的負債と戦わずにマネジメントする
エンジニアはなぜ機能追加を拒むのか