Aiji Uejima
「時間がない」のは活動負債に気づいていないからかもしれないという話
見出し画像

「時間がない」のは活動負債に気づいていないからかもしれないという話

Aiji Uejima

はじめに

この記事は、IT系のサービス会社でエンジニアとして働く筆者(@aiji42_dev)が、これまでマネージメントとテックリードを行き来する中で気づいた、生産活動における時間と負債に関してまとめたものです。

今回記事内に記載されている「活動負債」という言葉は筆者オリジナルの言葉ですが、きっと同じような考えや、それを論じている方は他にもいると思います。
もし、正式な用語・名前を知っている、もしくは、〇〇という考え方や概念に似ているという博識な方がおられましたら、ぜひ優しくご教示いただきたいです。

よく社内で耳にするやり取り

品質はいまいちですが、事業優先なので一旦リリースしましょう!
今は時間がないので、後で時間をとって修正します。

一度は耳にしたことありますよね?

でも、
本当にその時間とれますか?あるいは、今までに取れた試しがありますか?

「ビジネス優先」とか「ユーザ目線」のような言葉を盾にして、自身の責任やスキル不足から目を背けていませんか?
よく「技術は目的ではない手段だ」と言います。それはたしかにそうですが、それをクオリティが不十分であることの言い訳に使うのは間違っていますよね。

時間がほしければ「活動負債」に目を向けよう

この記事で伝えたいことは一つだけです。時間の圧迫が「活動負債」にあるかもしれないということに気づいてください。

活動負債

生産活動に伴う負債のことです。

サービスの運営・ソフトウェアの開発など、我々の生産活動には必ず負の副作用が存在します。

「車を購入する」を例に上げてみましょう。

  • 購入のための費用

  • 保険・駐車場・ガソリン・車検・メンテナンス・洗車・税金など維持費

  • 交通事故を起こすこと・巻き込まれるによる損失

  • 上記の各項目を処理するための手間と時間

上の2つの項目は比較的目に見えやすいコストであり、見積もりも容易です。しかし下の2つはなかなか購入時には勘案されません。実際にコストが発生することで初めて気づくのです。

「時間がない」といっている人の多くは「活動負債」を正しく見ていない、あるいは見落としています。

活動負債は徐々に生産性を低下させ生産活動の時間を圧迫します。しかし「徐々に」であるため、圧迫されていることに気づけないのです。

【捕捉】技術負債という概念がありますがそれも活動負債の一つです。
ただし、ここでの活動負債は、システムや技術に限らずすべての生産活動に伴う副作用を指しています。

活動負債の特徴

① 結果論である

活動負債の多くは最初は負の期待値を持っているだけで、実害・実損はありません。
しかし、突然実損に変化します

② 実損になるタイミングはずっと先

あなたが携わる仕事でもよいですし、あるいは世の中の不具合報告を思い返してみてください。
損失の原因そのものの発生は数年前(3年とか)、長いと10年15年前までさかのぼって、やっとそこに原因があることに気づくことが多いと思います。

活動負債のツケを払うのはあなたの後輩です。今あなたの時間を圧迫しているのは、あなたかもしくは先輩・先人の負債です。

③ 気づいた頃には手遅れ

たとえば個人情報の漏えい等、最悪のケースでは信用を落としてサービスの停止に追いやられることもあります。
そこまで重大ではないにしても、「システムがイケてないので生産性が低いです。リプレースした方が早いです。」みたいなことになります。

解決のためには莫大な時間と費用がかかります。

【ちなみに】
「システムリプレース」と聞くと聞こえはいいですが、「技術負債の解消」のための大規模なシステムリプレースは、借金でにっちもさっちもいかなくなったので「自己破産します」と同義だと私は考えています。
借金返済能力がない人(負債のコントロールができない人)は、たとえ借金を帳消しにしても、また数年後には借金まみれになります。システムリプレースも同じで、負債コントロールができないチームは、数年後にはまた同じ状況になっていますし、そもそも技術負債の解消のために行っているリプレースなのに、別の技術負債を生み出していたりします。
どんなに優秀な人でも負債の発生をゼロにすることはできません。負債の原因が外部要因(状況変化)によって発生するケースが多いからです。それを理解して、日頃から負債を解消する活動を継続し、将来を見越して小さなリプレースをする、あるいはそれを見越して設計できるエンジニアは優秀だと思います。

④ 雪だるま式

活動負債の一つ一つはとても小さいものが大半です。それ単体が実害になったとしても大きな問題にはなりません。だからこそ発生に気づけません。

しかし、小さな負債が絡み合い、複雑な依存関係となって、巨大な負債となります。

どんなに優秀なエンジニアやビジネスマンでも、生産活動をする以上負債の発生をゼロにすることはできません(小さくすることはできますが)。
生命活動をするためには二酸化炭素を放出しなければならないのと同じだと思ってください。裏を返せば負債を発生させることは当たり前であり、それ自体に負い目を感じる必要もありません。
「今自分は生産活動の裏で負の副作用を起こしている」と自覚して、対処行動を取ることが大切です。


ここまで、「エンジニアが対象」みたいな話をしていますが、活動負債を生み出しているのは職能に限らず全員です

たとえば、営業が新規のクライアントと契約を結んだとします。そこで売上が生まれたわけですが、一方で、クライアント管理(契約更新手続き・モチベーションコントロールなど)の負債を生み出しています。

活動負債の解消方法

じゃあどうしたら良いのでしょうか?

① 安易に生産しない・やらない

当たり前ですが、生産活動を行わなければ負債は発生しません。
しかし、生産活動を行わなければ売上も発生しません。

その場のコストや工数だけでなく、その後のケアにかかる時間やリスクによる損失の期待値に焦点をあて、それを含めた上でトータルの利得と損失のバランスを見た上で、やるのかやらないのかを選択しましょう。

「実は作らないくてもいいんじゃないか」「実はやらなくてもいいんじゃないか」と頭の片隅で常に考えることが重要です。

② その場しのぎ・一旦の対応をやめる

小さな問題が発生したときに、一旦止血を行ってトリアージするということがあります。しかし、それはトータルの負債を解消したわけではありません。問題の先延ばしにしただけであり、その先延ばしに対して工数というコストを支払っただけです。

恒久対応を行って問題を解消したほうが良いのか、放置して問題ないのかを正しく判断しましょう。
その場しのぎに時間を使うのではなく、クリティカルな問題解決に時間を使いましょう。

クリティカルな問題解決のためには経験やスキルが必要です。そのための研鑽を怠らないでください。

③ 潔く捨てる・やめる

捨てた瞬間・やめた瞬間からそれにかかる負債はゼロになります。
効果が不明なもに対して、効果が不明だから残すのではなく、効果は不明だが負債はかかっているのは間違いないから捨てると判断してください。

人間の管理能力には限界があります。
「あの人キャパシティーがすごい」と周りから評価されている人の実態は、キャパシティー自体がすごいのではなく、捨てる・やめるという意思決定がうまいということが大半です。つまり、やり方や考え方を真似れば、誰でも同じ管理能力を手にすることができます。

④ 継続的な投資活動だけが相殺できる

①~③にあげたものは、すべて、負債を根本から解消する考え方ですが、負債として残したまま相殺する方法もあります。それは継続的な投資活動です。

システムの話であれば、保守・リファクタ・自動テストコード・CI/CDの整備・新しいスキル獲得などがあげられます。

「保守などシステムの改善は利益を生まない」ということはよく言われますが間違いです。売上は生み出せませんが、活動負債を相殺しており、目先の利益ではなく将来の利益に貢献しているのです。
だから、日々の投資活動を軽んじてはいけません。

まとめ

あなたが「時間がない」と感じるのは、活動負債の蓄積による生産低下に気づいていないからかもしれません。

見えない負債に気づき、将来の時間を確保しましょう。

活動負債を解消するには、

  1. 安易に生産しない

  2. 根本解決に時間を使う

  3. 捨てる・やめる

  4. 投資活動で相殺する

これらの行動が大切です。

Aiji Uejima