Slide 1

Slide 1 text

© kaonavi, inc. うちは特殊だから、と距離を取ってきた
 利用可能なインクリメントと
 ちゃんと向き合ったら成長できた
 チームの話
 株式会社カオナビ 髙橋 朝人 


Slide 2

Slide 2 text

© kaonavi, inc. 自己紹介
 ● 名前:髙橋 朝人(asato) 
 ● ロール:スクラムマスター || プロダクトオーナー 
 
 ● 好き:アジャイル開発、プロダクト開発、温泉、謎解き・クイズ 
 ● 苦手:はじめまして、大人数、あんこ、うなぎ 
 2
 @at_946


Slide 3

Slide 3 text

タレントマネジメントシステム「カオナビ」 社員の個性・才能を発掘し 戦略人事を加速させるタレントマネジメントシステム © kaonavi, inc. 3

Slide 4

Slide 4 text

© kaonavi, inc. 4 チーム紹介
 ● Feature:人材配置
 ● Framework:LeSS(2 teams) 
 ○ PO & SM:It’s me!! It’s anti-pattern!!
 ○ Designer:1
 ○ Engineer:8
 ○ QA Engineer:3


Slide 5

Slide 5 text

© kaonavi, inc. 5 今回のセッションのテーマは
 「利用可能なインクリメント」です。


Slide 6

Slide 6 text

© kaonavi, inc. ● “ 開発者はスクラムチームの一員である。各スプリントにおいて、 利用可能なインクリメント のあらゆる側面 を作成することを確約する。 ” 
 ● “ 価値を提供するには、 インクリメントを利用可能に しなければならない。 ” 
 by スクラムガイド
 
 ● 「利用可能とは何か」については言及されていない 
 
 ● チームの解釈
 ○ 利用可能 = 全顧客にリリースできる状態 
 利用可能なインクリメント とは 
 6

Slide 7

Slide 7 text

© kaonavi, inc. ● でもうちは特殊だから、 
 ○ 頻繁なリリースが顧客の不利益になる場合もあるし(マニュアル、周知、問い合わせ、...) 
 ○ 大きなリリースの方が顧客に伝えやすいしインパクトもあるし 
 ○ コアなデータを扱う開発は元々規模が大きくなるし 
 
 ● リリース時(Nスプリント後)に「利用可能なインクリメント」ならOK! 
 7 でもうちは特殊だから距離を置いた 


Slide 8

Slide 8 text

© kaonavi, inc. 【転機】FeatureToggles がやってきた 
 8 ● (Feature|Release)(Toggles|Flags) 
 ○ 顧客に機能解放するかどうかを制御する仕組み 
 ○ カオナビでは顧客単位で制御可能 
 
 ● 導入目的:ビッグバンリリースの回避 
 ○ リリースとデプロイを分離しデプロイ頻度を増やす 
 ○ 祈りのリリース回避(影響範囲が大きくなりやすい) 
 ○ 不具合の対応範囲の特定しやすく 
 ○ 大量のコンフリクトの回避 
 https://hatenanews.com/articles/2023/06/27/103000

Slide 9

Slide 9 text

© kaonavi, inc. 9 FeatureTogglesを活用すれば、新しいフィードバックループをつくれるのでは!? 
 ● ドッグフーディング 🐶
 ○ 自社の人事メンバーに通常業務で使ってもらう 
 ○ 人事メンバーからのフィードバックをGet !! 
 
 ● Salesデモ 🤝
 ○ Salesメンバーに提案時のデモで使ってもらう 
 ○ Salesメンバー & 見込み顧客からのフィードバックをGet !! 
 
 ● CSデモ ❤
 ○ Successメンバーに既存顧客への新規機能紹介で使ってもらう 
 ○ Successメンバー & 既存顧客からフィードバックをGet !! 
 


Slide 10

Slide 10 text

© kaonavi, inc. 10 【気づき】利用可能の利用シーンはひとつじゃない 
 ● ドッグフーディング 🐶
 ○ 自社の人事メンバー に通常業務で使ってもらう
 ○ 人事メンバーからのフィードバックをGet !! 
 
 ● Salesデモ 🤝
 ○ Salesメンバーに提案時のデモで使ってもらう
 ○ Salesメンバー & 見込み顧客からのフィードバックをGet !! 
 
 ● CSデモ ❤
 ○ Successメンバーに既存顧客への新規機能紹介で 使ってもらう
 ○ Successメンバー & 既存顧客からフィードバックをGet !! 
 


Slide 11

Slide 11 text

© kaonavi, inc. 11 利用可能は全顧客リリースだけじゃない
 
 もしかすると自分たちも
 利用可能なインクリメントに
 向き合うことで成長できるかも


Slide 12

Slide 12 text

© kaonavi, inc. 12 ということで
 約半年向き合ってきた課題や取り組みを
 共有したいと思います!


Slide 13

Slide 13 text

【課題】
 今まで大きなリリース単位でしか
 開発をしてきていないので
 小さなデプロイ単位を定義できない


Slide 14

Slide 14 text

© kaonavi, inc. ● ユーザーストーリーマッピング 
 ○ ユーザーの体験・物語をベースにユーザーストーリーを整理し、 
 全体像を可視化するアクティビティ、またはその成果物 
 14 【取り組み】ユーザーストーリーマッピングとエピック 
 エピック1 (利用可能) エピック2 (利用可能) エピック3 (利用可能) バックボーン ユーザーストーリーマッピング リリース

Slide 15

Slide 15 text

【課題】
 顧客リリースでないリリースは
 何が終わっていればリリースできるか
 わかってない


Slide 16

Slide 16 text

【方針】
 誰かが突然Toggle ONにしても
 大丈夫って言える状態


Slide 17

Slide 17 text

© kaonavi, inc. 17 【取り組み】エピック単位のUndone workの可視化 
 ● Undone work とは? 
 ○ “ Doneの定義と潜在的に出荷可能の間にある差分 ” by Done の定義 - Large Scale Scrum (LeSS)
 ○ 完成の定義には含まれないが、リリースまでには完了させる必要のあるタスク 
 
 ● やったこと
 ○ Undone workリストを作成 
 ○ エピック単位でUndone workリストから取り組むものをリファインメント 
 ○ Undone workをエピックの計画づくりに組み込み 


Slide 18

Slide 18 text

【課題】
 Undone work 多すぎ!


Slide 19

Slide 19 text

© kaonavi, inc. 19 Undone workが多すぎる… 
 ● 状況
 ○ Undone workを可視化した結果、undone workだけで2, 3スプリント必要なことが判明 
 
 ● 例えば
 ○ i18n対応
 ○ ストーリーのE2Eテスト 
 ○ リグレッションテスト
 ○ パフォーマンステスト 
 ○ 補助ドキュメントの作成 
 ○ リリース手順・切り戻し手順の作成 
 ○ …


Slide 20

Slide 20 text

© kaonavi, inc. 20 【取り組み】Undone workの完成の定義化 or 早期着手化 
 ● i18n対応 👍
 ○ スプリント内で対応したい&できるものだったので 完成の定義へ
 ● ストーリーのE2Eテスト 👍
 ○ 開発プロセスの見直しと職能にこだわらない行動でスプリント内で対応できるように改善し 完成の定 義へ
 ● リグレッションテスト
 ○ playwrightの活用などを検討中 
 ● パフォーマンステスト 
 ○ スプリント中から大量データで動作をさせてみるなどし予兆を検知するように 
 ● 補助ドキュメントの作成 👍
 ○ 一部スプリント内で対応したい&できるものだったので 完成の定義へ
 ● リリース手順・切り戻し手順の作成 
 ○ リリース直前の実施が効果的・効率的なのでUndone workのまま 


Slide 21

Slide 21 text

こうしてぼくたちは
 エピック単位に
 利用可能なインクリメントを
 つくれるようになった
 
 新しいフィードバックが生まれた
 チームは成長した


Slide 22

Slide 22 text

© kaonavi, inc. 22 まとめ
 ● 利用可能なインクリメントに向き合うことでチームとしてもう1段階成長できた 
 ○ ユーザーストーリーマッピングとエピック 
 ○ Undone workの可視化 
 ○ Undone workの完成の定義化 & 早期着手 
 ○ (エピック見積もりで早くより遠くを見通す) 
 ○ (LeSSのブランチ戦略) 
 ○ (スプリントゴールでスプリントに集中) 
 ○ (スプリントゴールでデイリースクラムが活性化) 
 ○ (チーム合同モブプログラミング) 
 ○ (防災訓練(障害対応の練習)) 
 今回の発表内容以外にも 色々な変化がありました! 🎉

Slide 23

Slide 23 text

利用可能なインクリメントに向き合うの
 いいぞ!


Slide 24

Slide 24 text

We are hiring!! https://corp.kaonavi.jp/recruit/list/ © kaonavi, inc. 24