※この記事は 2022年10月13日に Medium で公開されたものを、ブログ移行に伴い再掲載したものです。内容は当時のままですので、一部情報が古くなっている可能性があります。
あなたがやった仕事、不良在庫になっていませんか?
Tebiki株式会社では「知的在庫をできるだけ持たない」という考えのもとに、現場DX の SaaS「tebiki」を開発しています。この記事では、Tebiki社の考える知的在庫とは何か、そしてそれを持たなくて済むようにするためにどのような取り組みをしているかをご紹介します。
在庫とは
在庫と聞くと何を想像するでしょうか? 靴屋の在庫一掃セール? 倉庫での棚卸し作業? 経営者の方にとっては、キャッシュフローの悩みのタネかもしれません。
この記事では、在庫を「将来利益へと変換されるビジネスのネタ」と定義します。 どのようなビジネスでも、資金によって在庫を獲得し、それを使って利益を生み出すからです。
在庫商品を売って利益を得る
ソフトウェア開発における在庫
靴屋などの小売店が商品である靴を在庫として抱えるように、ソフトウェア開発でも在庫は存在します。 たいていの場合、この在庫は目に見えるモノではないことが多く、意識しないとなかなか気付けません。
では、ソフトウェア開発において、どういうものが在庫となるのでしょうか?
まず、比較的認識しやすいものだと、ある作業の結果生み出されたドキュメント類、デザイン、コードなどが挙げられます。 企画から実装まで、ソフトウェア開発に関わった人たちの知的作業の結果、あらゆるタイミングでこういったものが生み出されます。 そして、これら “作業の結果” は、利益を直接生み出してはいませんが、利益を生み出すために間違いなく必要になるものです。 つまり、「将来利益へと変換される予定のビジネスのネタ」なので、在庫です。
一方で、こういった “作業の結果” は、常にドキュメントやデザイン、コードのような目に見えるものであるとは限りません。 調査によって得られた市場ニーズについての理解や、組織内での合意という、人間の記憶として存在する “作業の結果” もあります。 これらも、資金(人件費)によって獲得した、「将来利益へと変換されるビジネスのネタ」なので、在庫です。 このように、ソフトウェア開発では、人の知的作業に投資して “知的な” 在庫を獲得するということが日常的に行われているのです。
不良在庫
在庫のうち、利益に変わらず手元に長く残り続けるものを不良在庫と呼びます。 不良在庫があると、売れない商品が手元に残る一方で、それを仕入れるためにつぎ込んだ資金の分だけ手元の現金が減ってしまいます(経営的な言葉で言うと、キャッシュフローが悪化すると言います)。 仕入れた商品の価値は、(基本的には)時間と共に下がる一方なので、手元に置いておくといずれ商品価値は無くなり、永遠に売れなくなります。 これを避けるために、小売業などでは売れない商品に見切りをつけて在庫一掃セールを実施したりします。
不良在庫
前述の通り、ソフトウェア開発においても、(知的な)在庫を仕入れます。 小売業の在庫と同様に、これらも、利益に変換されずに長く手元に残り続ければ不良在庫となります。
例えば、
会議で決まったが、人員不足や優先度の問題で一向に実施されない企画
遥か未来の事業戦略についての詳細な議論や決定
他機能の変更と干渉してしまい、内容を検討し直さなければ着手できなくなった企画
半年後に実装予定の機能のための非常に詳細な設計や UIデザイン
などは不良在庫と呼べるでしょう。
ソフトウェア開発における不良在庫の具体例
それでは、具体例を挙げてみましょう。 ある企画が持ち上がり、それに関していくつもの機能のアイディアが出たとします。 社内の開発リソースでは、今進行中の別プロジェクトが半年後に終わり、そこから開発に着手してから実装完了までに更に半年くらいかかりそうです。
このタイミングでそれらのアイディアをすべて、詳細レベルまで検討するとどうなるでしょうか? そうです。知的在庫が一度に大量に生まれます。 これらの在庫は、組織内の合意、企画書、外部仕様書、ER図、ピクセル単位で調整された美しい画面モック、など、さまざまなレベルで存在します。 半年後、ようやく開発チームによって開発が開始され、長い期間をかけてそれらのアイディアを順にソフトウェアとして実現していきます。そのため、こういった知的在庫の大半は利益に変わるのがずいぶん後になります。 つまり不良在庫です。キャッシュフローが悪くなってしまうのです。
“知的な” 不良在庫
それに、1年後にこれらの在庫がすべて利益へと変換されている保証はありません。 途中でビジネスニーズが変わってしまったり、競合他社が先に同じアイディアを実現してしまい、それと同じものを後から出していても大した利益が期待できなくなってしまう可能性は十分にあります。 そうなってしまったら、それまで溜めてきた在庫はもはや意味をなさなくなります。そして放置されます。
小売店の在庫一掃セールのように安く売れれば良いのですが、こういった “知的な” 在庫は、それ自体を顧客に売却してしまうことは困難です。 従って、これらの目に見えない在庫は、会社が無くなるまで亡霊のように存在し続けます。
これは大小の差はあれど、日常的に起きていることです。帳簿上は人件費が費用として計上されて終わりなので、会計業務でもこの知的在庫に気付くことは困難です。
では、どうすれば知的在庫を最小化できるのでしょうか。
Just In Time という考え方
Just In Time、JIT(必要なものを、必要なときに、必要な分だけ)という言葉をご存知でしょうか? 必要な手持ちの数を越える在庫を持たず、必要なときに必要な分だけ手元に届くようにするという考え方を表す言葉です。 この考え方に従って、その時点で必要とされる以上に詳細な作業をしてしまうのを避けることで、無駄な知的在庫を作ってしまうことを防げます。 ソフトウェア開発では、コーディング以外にも、要求の詳細化や設計、技術調査、UX の検討などの作業がありますが、いかにこういったもの全てを必要なタイミングの近くで作って手持ちに加えるかが無駄な在庫の発生を防ぐことに繋ります。
では逆に、アイディアは思いついたものの、しばらくは詳細な作業をしないでおくことにしたものについては、どうしておくのが良いのでしょうか? Tebiki社では、「将来これについてもっと話し合う」というメモだけを GitHub の Issue という形で残しておきます。 こうしておけば、必要以上に詳細な作業をしないことで、将来取り組むことになったときにビジネスニーズが変化していたとしても、不良在庫はほとんど生まれません。 また、メモとして残しておくことで、せっかく思い付いたアイディアを忘れてしまうこともありません。
経営レベルで大きなメリット
直近ですぐに使う在庫だけを生産するということは、在庫のライフサイクルが短くなるということです。 在庫のライフサイクルが短くなれば、キャッシュフローの向上が期待できます。 そして、これまでの話のように、ソフトウェア開発についても全く同じことが言えます。 必要でもない時期に過度に詳細な議論や作業をしてしまうのを避けることで、目に見えない知的在庫を減らし、より健全な経営をすることができます。また、より多くの資金や人材を「事業成長のために本当に今必要なこと」に投入できるようになることで、高い事業成長率をキープする助けになるでしょう。
まとめ
ソフトウェア開発において、在庫は知的作業の結果そのものであり、目に見えないことが多いです。 こういったものをはっきりと在庫として認識することで、ある知的作業で発生した不良在庫を早期に発見でき、キャッシュフローの悪化を防ぐことができます。
我々は一緒に働く仲間を募集してます!
Tebiki社では、現場教育の DX を促進する動画マニュアルの SaaS「tebiki」を開発しています。我々は、Just In Time の精神で、本当に価値があるものをムダなく最短距離で作っていく仲間を募集しています! この記事に共感された方、ぜひいちどカジュアルにお話しませんか? 3.エンジニア の求人一覧 - Tebiki株式会社 Tebiki株式会社が公開している、3.エンジニア の求人一覧ですherp.careers
執筆者
三宅 拓馬
Tebiki株式会社 のエンジニアリングマネージャーです。キャリア支援や採用のほか、会社全体のアジャイルコーチとして、スクラム、テスト駆動開発、ペア・モブプログラミング、ドメイン駆動設計などを支援したりしています。