見出し画像

技術的負債は毒なのか 1

「普段から負債の解消やっていこう」みたいなノリで「技術的負債」という言葉をよく使うようになりました。
自分にも馴染みのある言葉となっていく負債という言葉。
最近は

「技術的負債って返済しないで開発を進めると、どんどん痛みが大きくなっていく...まるで毒みたいだ」

なんて感じる事が増えていたのですが「本当にその認識でいいのか...?」と
機会も増えてきたので、一度「技術的負債」と向き合ってみようと思いました。

毒というステータス異常

ゲームには、特に敵と戦うRPGなんかにはステータス異常があります。
代表的なステータス異常に毒というものがあります。

嫌ですよね、毒。

自分が初めて毒のステータス異常を経験したのはポケモンでした。
トキワの森でビードルから毒の攻撃を受けたのです。
当時はまだ小学1年生かそこらで、ちゃんと意味を理解していませんでした。

でも、毒の状態のまま戦っていると毎ターンヒットポイントが減っていくので放置してはいけない事は子供でもすぐに分かったような気がします。

どくけしを使うという事

ポケモンにおいて毒を回復する手段は色々と用意されていますが、
序盤においてはどくけしというアイテムが役に立ちます。

使えば立ち所に毒の状態から解放されます。
(エンジニアのリファクタリングも同じくらいのスピード感でいたいものです。)

ただ、どくけしを戦いの最中に使おうとすると必ず1ターンを使ってしまいます。毒からは解放されるけれど、そのターンは相手に攻撃する事が出来ない。

幼いながらも当時は悩みながらゲームを遊んでいて、そこがまた楽しみに繋がっていたのだと思うとゲームバランスの難しさを感じさせます。

技術的負債は毒なのか

いつの頃からか、少なくとも自分がエンジニアの世界に入門した頃にはすで技術的負債という言葉は存在しており、デベロップメントの世界では常に語られきました。

気になって調べてみると遡ること1992年にウォード・カニンガム氏が用いたのが原点として伝わっているようです。
何をもって「技術的負債」とするのかは度々話題になります。それは負債という言葉が受け取る人によって多面的なイメージを沸かせるからだと自分は思っています。

エンジニア職についている自分はあまり肯定的なイメージをもちません。
「この機能の実装には負債が溜まっているので、工数が大きくなりそうです。」という会話をするたび、負債を作ってしまった過去の自分に対して負の感情を持ってしまいます。

「技術的負債は毒だ。どくけしを使って解消しよう。」

だなんて事をよく考えたりします。
ここでいう「どくけしを使う」のイメージは開発を一度止めてリファクタリングをする事です。
その間新しい開発は進みませんが、負債を抱えたまま開発を進めるのは、
まさに毒のステータス異常のまま戦い続けるポケモンのようだと自分は思っています。

その認識なので技術的負債を返済するのに多少の(ステークホルダーが許容する範囲内での)時間がかかる事に対しては積極的でした。
自分にとって技術的負債の解消は「毒の治癒」だと思っていたからです。

必ずしも「負債=ネガティブ」のイメージではない

ここまで技術的負債は毒に例えられる、という認識で筆を進めてきましたが
そもそも「負債」という言葉は受け取る人によって想起するイメージが違います。

金融業界や、経営において負債(利子付き)は資本を想起させる言葉でもあり、必ずしもネガティブなイメージではありません。

少なくともエンジニアの自分が毒に例えるほど、悪いイメージは持たないでしょう。
日頃の勢いで共通言語のように「技術的負債」という言葉を使うと会話の中で誤解が生まれる可能性があるかもしれません。

社内の非エンジニア職の方と話す機会があり、認識を改める機会がありましたので後編で語りたいと思います。



この記事が気に入ったらサポートをしてみませんか?