2023/09/05 Findy ビジネスアウトカム向上へのトライ~夏の開発生産性LT Week~ に登壇した際の資料です。 https://findy.connpass.com/event/292834/
【Findy 夏の開発生産性 LT Week】ビジネスアウトカムを中心とするためのフルサイクルエンジニアという選択取締役CTO 丹羽健
View Slide
自己紹介2
3会社紹介3物流業界の価値最大化Our Missionアセンドが挑む物流の社会課題全ての物流データがのるシステム基盤を作るそして物流が最大効率で回る日本社会を作る中小企業中心で投資余力がなくデジタル化に取り残された運送業界2030年に物流の供給力は35%不足日本の経済損失は10兆円一方で運送事業の市場規模は20兆円SaaSを起点として事業が成り立ち十分にユニコーンが狙える業界TAM20兆円SAM2兆円2024年問題対策として、政策パッケージが発表解く意義の大きい社会課題を持ちエンジニアとして最大限の挑戦と社会的インパクトを起こすことができる
44
5アセンドの高い開発生産性 4Keys55.67デプロイ頻度変更のリードタイム平均修復時間変更失敗率5.67 deploys/day2 hours24 minutes2.6 percent高い開発生産性は前提として、この生産性をビジネスアウトカムに変換できるかが重要
ビジネスアウトカムへの整理66
事業的アウトカム 相関する技術・デザインの観点短期顧客への提供価値● 新機能の提供● 機能ギャップの解消収益● 新規顧客獲得● KPI (ARR/LTV/Churn Rate)● コスト削減デザイン・仕様● ユーザビリティ / UX/UI● Leanな仕様・業務を抽象化し汎用化された仕様技術・開発生産性● デプロイ頻度(イテレーションの向上)● 開発リードタイム(価値提供の即時性)● 低いネガティブ指標(失敗率・復旧時間)長期事業戦略● 新規プロダクトのリリース● Product Market Fit● 事業ロードマップの実現● マーケットサイズ(TAM/SAM/SOM)技術的資産・負債● ドメインを忠実に再現するデータモデル● スケール可能なアーキテクチャ● アプリケーション基盤● 品質、カルチャー、CI/CD、etc7ビジネスアウトカムを設計する7エンジニアは性質的に長期視点での技術的負債を考えた開発を進めやすい。短期と長期、事業と技術のマトリクスを持ってバランスあるビジネスアウトカムに設計する。その改善はどれらに寄与する施策か?を各エンジニアが判別可能な状態とする
バリューストリーム:価値提供の為のエンドツーエンドな一連のプロダクト開発プロセス顧客の課題を起点として機能提供だけでなく真に顧客課題を解決したか?=アウトカムで捉えると分かりやすい。 8バリューストリームでモデル化する8バリューストリーム(プロダクト開発プロセス)ビジネス目標顧客要望収益KPI事業戦略アウトカム新機能提供・機能改善KPIの達成・ARRの積上事業ロードマップの実現⏳改善項目イテレーション継続的学習フィードバック設計 開発 テスト リリース 運用サポート仕様策定バリューストリームのモデルを利用して、アウトカムを最大化する方策を考える
9バリューストリームを紐解く9バリューストリームビジネス目標 アウトカム⏳機能/改善イテレーションフィードバック ⏳設計 開発 テスト リリース 運用サポート仕様策定アジャイル開発 DevOps4Keys 開発リードタイム4Keys デプロイ頻度Lean 思考プロダクトマネジメント不具合改修リスク削減負債解消Four Keys やアジャイル、DevOps はアウトカムを実現する部分的な指標/施策でしかない。部分的な施策であることを踏まえてバリューストリームの最適化に活用する。※4Keys の残る平均復旧時間・変更失敗率はカウンターとなるネガティブ指標であるため割愛FEBE
10バリューストリームを高速化する10プラスを増やすアプローチリーン思考による初期仕様の策定開発高速化のためには、やることを減らすこと。機能改善の多くはアウトカムへの不確実性が高いため、開発着手以前にコアとなるMVP仕様をLeanに定める。高頻度デプロイで不確実性を解消機能リリース後に顧客ギャップを埋めることで初めてアウトカムが実現される。高頻度にデプロイを実行し顧客検証を素早く繰り返す。平均復旧時間を縮める施策をすることで仕様的な失敗に対する安全性を高めることもできる。開発効率化でのリードタイム圧縮仕様策定後は速やかに顧客に機能提供ができるようCI/CDなどを整備して開発リードタイムを圧縮する。顧客要望が冷める前に機能提供ができることでアウトカムへのサイクルタイムを圧縮することも可能。他にもアプローチはあるので、バリューストリームのモデルを利用して 現在の環境のボトルネックを特定すると良いと考えています。イテレーション仮説IDEAプロトタイプCODEデータDATA構築Build学習Learn検証Measure
11バリューストリームのロスを防ぐ11マイナスを減らすアプローチサイロ化によるコミュニケーション齟齬組織が分断されると目標へのコンテキストが伝言ゲームのように失われる力学が働く。また組織内の局所最適な目標が設定される恐れが発生(ex. 4KeysへのHack)仕様的負債を産まないプロダクトマネジメント技術的観点も含めプロダクトマネジメントをすることで同じアウトカムを保ちつつ仕様的な複雑さを下げる。技術的負債の多くは仕様的な負債に根ざしており、無駄に課題内在性負荷の高い仕様を産まない。フロー配分の最適化事業フェーズを鑑みて開発項目の最適なフロー配分を設定比率配分を定め、偏った投資を防止スタートアップ・アセンドでは機能改善への投資比率を高く設定他にもアプローチはあるので、バリューストリームのモデルを利用して 現在の環境のボトルネックを特定すると良いと考えています。 ⏳⏳⏳
アセンドでのフルサイクルエンジニアによるバリューストリーム最適化への設計1212
13フルサイクルエンジニアでの開発131エンジニアがソフトウェアのライフサイクル全てにオーナーシップを持ち開発できるよう開発環境を設計・投資ユーザ課題を中心として機能検証の開発サイクルを高速に進めることが可能アウトカムを中心として開発フルサイクルを支えるため多くの技術的投資と仕組み的な資産を積み重ねています
14バリューストリームのフルサイクル化14バリューストリーム ⏳イテレーションフィードバック⏳ChatOpsフルサイクルエンジニアでの開発Lean Managementビジネスアウトカムを主眼として開発生産性に積極的に投資し、「面・質・スピード」を兼揃えた開発環境・カルチャーを構築。PostmortemMono Repo深い業務理解5.67 deploys/day設計 開発 テスト リリース 運用サポート仕様策定GitOps SentryAutifyFull TS ArchDDDPM by Eng24.3 PRs/dayフロー配分ビジネス目標顧客要望収益KPI事業戦略アウトカム新機能提供・機能改善KPIの達成・ARRの積上事業ロードマップの実現Product Management領域の統合週次振り返りの実施要望起票Channel 最短20分での機能提供プロダクト専任によるノウハウの蓄積
アセンドは社会課題解決をすることこそがエンジニアの本分と捉え、真なる課題解決をアウトカムに据え開発ができるカルチャーを徹底徹尾に構築していきます。このメッセージに共感された方、ぜひ共に働きましょう!オフラインミートアップも開催!メッセージ15CTO丹羽のTwitter (@niwa_takeru)お気軽にフォロー・DMください。