見出し画像

※アーカイブ動画あり「技術的負債に向き合いプロダクトを成長させる組織とは」【イベントレポート】

こんにちは!オープンロジnote編集部です🧑‍🎓

今回は、2024年5月に行われた弊社主催の「技術的負債に向き合いプロダクトを成長させる組織とは」のイベントレポートをお届け📦三

オープンロジのバリュー、「Positive Reflection
- 振り返り、学びを得て、成長する -」をベースに開催された今回のイベントでは、キャディ株式会社 CADDi Drawer VPoEの藤倉氏と、弊社CTOの尾藤が登壇。
サービスの運用を続けていく中で複合的な要因で生じる技術負債へ向き合い、プロダクトを成長させる組織について、振り返り・学びを得て・成長してきたことをお話頂きました。

終了後のアンケートでは
「現在マネージャーとして活動している上で関心のある領域について多くのことを聞くことができた」
「技術的負債に向き合うモチベーションが高まりました」
など、視聴者様にもご満足いただけた今回のイベント💪

特にプロダクト成長において必ず起こりうる負債への向き合い方やその時のプロダクトづくり、負債に向き合う組織体制の構築に興味のある方は必見の記事です!💡

是非、ご覧ください!😊



登壇者

藤倉成太 (@sigemoto)キャディ株式会社 DrawerVP of Engineering
株式会社オージス総研でシリコンバレーに赴任し、現地ベンチャー企業との共同開発事業に携わる。帰国後、金沢工業大学大学院工学研究科知的創造システム専攻を修了。2009年にSansan株式会社に入社し、2019 年執行役員 CTO に就任。Sansan Global Development Center, Inc.のDirector/CTOとして海外開発体制を強化した。2024年キャディ株式会社に入社し、Drawer VP of Engineering に就任。

尾藤 正人 (@bto) 株式会社オープンロジ 執行役員 CTO
大学在学中にVine Linux SPARC版を開発。卒業後IPA未踏ユースソフトウェアに採択。(Zynga Japan)ウノウ株式会社の初期メンバーとして参画し、CTOを4年半務め、2011年に株式会社スングーラ代表取締役社長に就任する。2015年からUUUM株式会社のCTOとして未上場からIPOまで牽引し、2021年6月にはRepro株式会社の執行役員CTOに就任。 2022年8月に株式会社オープンロジに入社。2023年2月、同社CTOに就任。その他、個人で技術顧問、エンジェル投資、未踏ジュニアPMなどに従事する。

モデレーター
坂井 健治 (@saka0ken) 株式会社オープンロジ 執行役員 VP of Engineering

慶應大学卒業後、ワークスアプリケーションズにてECサイトのパッケージソフトの新規開発や運用保守を担当。4年目から新製品の開発マネージャーとして30人の組織のマネジメントに従事。2017年にメディアドゥに入社。VPoEとして100名のエンジニア組織のマネジメント・採用に携わる。 2021年7月にオープンロジ入社。VPoEを務める。


アーカイブ動画

当日の配信を見逃してしまった方はこちらからご視聴ください✨

・オープニング・イベント説明
・キャディ株式会社 CADDi DrawerVPoE 藤倉氏による
「プロダクト事業の技術負債 技術的負債に向き合いプロダクトを成長させる組織とは」(動画3:29~)
・株式会社オープンロジ CTO尾藤氏による「技術的負債に向き合うためのマネジメント」(動画27:16~)
・藤倉氏・尾藤氏のパネルディスカッション(動画53:15~)
・QA(動画1:19:15~)
・クロージング

登壇内容

キャディ株式会社 CADDi DrawerVPoE 藤倉氏

  • プロダクトを企画、開発する事業においてなぜ技術的負債が発生するのか

    • プロダクト開発とは先行投資的側面が強い(動画11:50~)

    • 先行投資的開発の評価(動画13:00~)

    • プロジェクトと不確実な事柄(動画14:00~)

    • 新規プロダクトの立ち上げと新機能の開発(動画14:15~)

    • ドメインモデルの追加や変更(動画16:35~)

    • 性能・セキュリティなど非機能要件の維持と向上(動画17:19~)

    • 難易度が高いリスク判断(動画18:16~)

    • 事業成長と不確実性(動画19:22~)

    • リアーキテクチャとリファクタによる技術的負債の解消(動画20:26~)

  • 必ず起こりうる技術負債をどのように回収していくのか

    • 事象を観測して投資判断を行う(動画22:10~)

    • 技術的負債による影響の計測・観測(動画24:31~)

    • 観測と計測(動画24:51~)


株式会社オープンロジ CTO 尾藤

  • 戦略を立て戦術を組み立てる(動画31:15~)

    • 技術的負債を解消する戦術(動画31:50~)

    • 戦術の積み重ねがうまくいかない理由(動画33:44~)

    • 技術的負債が解消できない理由(動画36:30~)

  • 技術的負債を解消するためには(動画38:27~)

    • 技術的負債解消におけるマネジメントの役割(動画40:55~)

  • 技術的負債解消の体制作り(動画43:05~)

    • 情報収集からの戦略立案(動画43:39~)

    • TOC(制約理論)(動画45:39~)

    • ボトルネックの特定(動画47:27~)

    • 関係各所との合意形成(動画49:57~)

  • 最後に(動画51:56~)


パネルディスカッション(動画53:15~)

パネルディスカッションのコーナーでは藤倉氏と弊社尾藤が、VPoEの坂井からの質問と、視聴者様からのご質問にお答えしました!

今回のレポートではその中からいくつか抜粋してご紹介します。


Q.中途入社した場合に技術的負債を把握する方法は?

藤倉:
登壇の中で観測と計測のお話をしましたが、そこで扱う数字はどういう数字になれば正しいのか、どのくらいが健全なのか、一般的な指標はありません。ですので出来れば組織の中でその数字をとり続け、数字が少なければ少ないほどいいものであれば、数字が少なくなることを狙いに行くとか、高くなる傾向にあるものを見るとか、といったことをすると良いと思います。

ただ、数字自体が無いことも往々にしてあるのでその場合は、尾藤さんも登壇で「技術的な課題は現場にある」と仰っていましたが、「エンジニアが声を上げているか」ということを確認するのは、私も重要だと思います。先輩社員の方が圧倒的に知っていることが多いので、そこはすごくヒントになると思っています。

尾藤:
私はオープンロジに入社した時にエンジニア全員と1on1を行い「課題に感じていることはありますか?」と1人1人に聞きました。技術的なものはスプレッドシートを展開して、「今チームの中で認識している負債を何でもいいので上げて下さい」と依頼したりもしましたね。

ちなみにそういう情報収集をする時に一番重要なのは、受け入れる事です。まず傾聴するのが非常に大事で、絶対にやってはいけないのがアドバイスだと思っています。今この切り取った瞬間を見たらなぜこんな実装をしたのかと思うこともあるかもしれません。でも当時の開発の状況やスケジュールの関係で致し方ない部分もあったはずなので、そういうところをふまえた上でアクションを起こしていくべきです。全体的なことを考えてから、じゃあこの課題を解決していこうと考えていくのが大事だと思っています。


Q.技術的負債と他のプロジェクトを比較した際の優先順位のつけ方は?また計測した数値の具体的な利用方法は?

藤倉:
立ち上げたばかりの事業やチームだと難しいのですが、絶対的な指標は存在しませんし、その数字が正しいのかどうかは状況にも寄ります。そのため、少し回数や時間を重ねて経過を見ていくのが重要だと思っています。計測の数をとっていけば平均値がとれますので。
そこから、「今後人が増えたとしても(今のままでは)機能のリリースはこれしかできない、であれば逆算してこの改修に今、コストをこれだけかけたほうが、1年後の時点ではベターな結果が出せる」等をふまえて、無視するか否かを判断するかなと思います。

ただ、最終的には会社(マネジメント・経営陣)としての判断にもよります。ロジックでは説明しきれない、最後はきめの問題、といった話にもなることがあります。そういう時にはこれまで培ってきたお互いの関係性、「これまでこの判断をしてきてるこの人が言ってるんだから、このロジックは正しい」と思ってもらえるのかどうか。正直その影響は少なくないと思いますね。

ーー ちなみに、具体的にどうプロダクトへの影響範囲や大きさを見ていくのでしょうか?

尾藤:
定量的にはかるのが難しいものなので、どうしても定性的にならざるを得ないところはあると思います。
技術的負債の解消は開発の中でも基本的には守りの開発にあたるものだと思います。攻めの開発はプラスをつくるための開発ですが、負債の解消はマイナスなものをゼロに近づけようという開発だと思います。その時に、-100くらいのものを頑張って1開発して-99にしても、インパクトが小さいですし根本解決にならないので、そこにフォーカスしても仕方ありません。-100のものを-50にするとか、インパクトが大きいものを考えないといけません。大きいかどうかというのは、「どれくらい悪影響が大きいのか」の話になると思います。
(影響の中には)システム的な影響、プロダクトへの影響、事業的な影響とありますが、システム的な影響はなかなか非エンジニアの人達には伝わりにくいこともあります。なので、負債の解消の意思決定を通そうと思ったら、事業的な影響度とかプロダクト的な影響度をセットに、合わせ技でもっていくと通りやすくなると思います。そういうことを加味しながら、優先順位を考えることが多いです。


Q.技術的負債の解消を進める際、周囲から合意を得る方法は?例やコツがあれば教えてください。

藤倉:
これはそれぞれの職場のカルチャーの中でどう合意をつくるのか、だと思います。私自身はプロダクトマネージャーの経験があるので、どの機能をどういう仮説の中でつくり、どんな事業貢献やプロダクトKPIをとれるのか、といったような話をします。前提のロジックがあった上で定性的な意思決定やきめの問題があると思っているのが私のスタイルで、そういう(それがマッチする)環境ならそういうアプローチになりますし、そもそも数値で語ることがほぼない職場もあると思うので、そのような環境だと私のアプローチは機能しません。その場合は、会社のカルチャーの中で、マネジメントが何を大切にしているか、どうしたいのかという所に基準を合わせにいくことはあるかなと思います。

ーー オープンロジは「それが課題ならやろう」というカルチャーなので調整自体はスムーズですよね。尾藤さんはそのあたりのコツはお持ちですか?

尾藤:
話をする相手によって情報の共有や粒度を変えないといけないのはあると思います。経営陣、プロダクトマネージャー、エンジニア、それぞれが持っている興味関心の範囲は全然違いますよね。興味がない部分に対して一生懸命語っても相手に響きません。相手の興味関心があるところにフォーカスして会話するのが、一つ重要なことです。

あともう一つ、私が人に納得してもらう時に大事にしていることは、二つの腹落ちです。二つの腹落ちとは、感情的腹落ちと、論理的腹落ちです。人が意思決定する時、どんなに論理的に正しいことを言われても、すごく横柄な態度で言われたらなんだこいつ、と反論したくなったりするじゃないですか。論理的に筋道が通っていることも大事ですが、それに加えて、相手の感情に対してもケアしたような言い方も考えないといけません。

負債がたまっている裏側には色々原因があると思います。しかし、最初から頭ごなしに否定すると言われた側は気分がいいものではないので、相手の感情をケアした上で、論理的な筋道をたてて、実現することが大事だと丁寧に説明する。相手の興味範囲を考えるのと、相手を説得するために論理的腹落ちと感情的腹落ちに気を付ける。この辺が合意形成に必要なことかなと思いますね。


Q.技術的負債の解消の経過報告・結果報告の方法は?

藤倉:
まず、単発の作業でない、一気には作れないというシチュエーションであれば、毎月工数の何パーセントはこれにあてます、これに予算をくださいと伝えますね。その後進捗を確認された際には、予算の消化率として、今月は想定通りの予算(=工数)を使って作業が進んでいますとか、今月は緊急のシステムインシデントがありこちらの工数予算を削って対応にあてたので進捗は悪いです、みたいな話をします。私の場合はプロジェクトや工数予算の取り方として、なぜとるのか・何を目指しているのか・どの数字を改善したいのか等をセットにして確保しています。なので効果は割とわかりやすいですね。

尾藤:
特に難しいのがリニューアル案件ですよね。システムのリニューアル案件は水面下でずっと進むので、進捗が可視化されていないじゃないですか。「手は動かしてますか?」「動かしました。」という報告しかできないので、結局いつできるの?と言われ続けるということがあります。なので、やはり王道なのはできるだけ小出しにリリースすることかなとは思います。小さく刻んでリリースすれば、可視化しやすくなります。

また、負債の解消は結果の報告が定性的になりがちなので、生産性を可視化する試みはした方がいいかと思います。負債の解消前後でこれくらいの効果がありました、が言えるといいですよね。


オープンロジでは一緒に働く仲間を大募集中です🤝

オープンロジは2024年に入り、37.5億のシリーズD調達も行いました。
これからも社員全員が一丸となって、システムを通じ、物流という社会課題の解決に取り組んでいきます。

事業拡大にむけてビジネス・エンジニア・コーポレート職、全ての職種で採用強化中です💪
もしこの記事を読んでオープンロジに興味を持って下さった方は是非、

から、ご応募いただけたら幸いです🥳
皆様からのご応募、心よりお待ちしております!!


みんなにも読んでほしいですか?

オススメした記事はフォロワーのタイムラインに表示されます!