Upgrade to Pro — share decks privately, control downloads, hide ads and more …

デュアルトラックアジャイルとの向き合い方

 デュアルトラックアジャイルとの向き合い方

2023-03-08 Findy LT Night 〜関西開発組織の最前線〜 開発生産性の取り組みをオフラインで語り合う

Takafumi ONAKA
PRO

March 10, 2023
Tweet

More Decks by Takafumi ONAKA

Other Decks in Technology

Transcript

  1. デュアルトラックアジャイル
    との向き合い方
    id:onk
    2023-03-08 開発生産性の取り組みをオフラインで語り合う LT
    1

    View Slide

  2. 自己紹介
    ● 大仲 能史 a.k.a. id:onk
    ● 株式会社はてな チーフエンジニア
    2

    View Slide

  3. 3
    今日の話

    View Slide

  4. 4
    デュアルトラックアジャイル

    View Slide

  5. ソフトウェア開発の2つのトラック
    5
    https://www.jpattonassociates.com/dual-track-development/

    View Slide

  6. 2つのサイクル
    6
    https://www.scrumatscale.com/scrum-at-scale-guide-online/#the-components-of-scrumatscale

    View Slide

  7. 2つのサイクル
    7
    ● デリバリー
    ○ コーディングを伴う
    ○ いわゆるスクラムチームの仕事
    ○ リリースしてユーザの反応を伺う
    ● ディスカバリー
    ○ より仮説検証的なPO側の仕事
    ○ 作るものを決める

    View Slide

  8. 目的地に辿り着くことで例えると
    ● ディスカバリーは地図
    ○ どこに向かうかを見定める
    ● デリバリーは車
    ○ 色んな車があるよね
    8

    View Slide

  9. どちらも大事
    ● 地図が無いと迷子になる
    ● 速度が遅いと時間が掛かる
    9

    View Slide

  10. 両輪で回す
    10
    https://www.scrumatscale.com/scrum-at-scale-guide-online/#the-components-of-scrumatscale

    View Slide

  11. アウトカムを出す
    11
    デリバリー ディスカバリー

    View Slide

  12. 12
    アウトカムに結びつかない
    アウトプットは、高速に
    ゴミを作っている

    View Slide

  13. 13
    というのが
    デュアルトラックアジャイル

    View Slide

  14. 14
    論点ズラしてない?

    View Slide

  15. 遅い車はとにかく問題
    ● 地図が合っていても三輪車じゃ辿り着けない
    ○ せめてエンジン付き。できれば常に整備しておきたい
    ● 方向がベクトル90度以内に収まってればいい
    ○ 象限が合っていれば十分
    ■ それ以上の精度が本当に必要?
    ○ サイクルを素早く回せば修正できる
    ■ 回すことすらできない方が問題が大きい
    15

    View Slide

  16. 高速ゴミ製造機をより好む
    ● もし良い企画に当たったら高速にアウトカム
    を作れる地力がある
    ○ 止まった時計も1日2回は正しい時間を指す
    ● 高速にPDCAを回すことができる
    ○ PDCAを回した数だけチームとしての強さが増す
    ○ 改善している実感を手に入れられ、役割分担が自然と
    され、目標達成にコミットできるチームになっていく
    16

    View Slide

  17. アウトプットを出す
    17
    ここが低いと話にならない

    View Slide

  18. もちろん場合による
    ● 打席に立てる回数には限りがある
    ● ゴミを作ってる余裕がまったく無いなら当た
    る企画だけを作るしかない
    ○ アウトにならないようなヒットを狙う
    ○ 打率を上げることに注力する必要がある
    18

    View Slide

  19. 19
    アウトプットを出す
    ための工夫

    View Slide

  20. アウトプットを出すための工夫
    ● 手元の工夫
    ● チームの工夫
    20

    View Slide

  21. 手元の工夫
    ● 生産性が高い=タイプ数が少ない
    ○ main[Command+Enter] で public static void
    main(String[] args) になると、6ストロークで38文字
    の生産性
    ○ 懇親会でお話🔥しましょう
    ■ おまじないは少ない方が良い
    v.s.
    ■ 静的解析のためのヒントは多い方が良い
    21

    View Slide

  22. 手元の工夫
    ● 高速に打ち続けることにも
    こだわっています
    ○ 思考のスピードで編集しよう!
    ■ 懇親会でお話🔥しましょう
    ○ 考える時間もゼロにして入力し続けたい
    ■ いかに設計の素振りをしているか、
    設計の共通化を行っているかが決め手
    22

    View Slide

  23. アウトプットを出すための工夫
    ● 手元の工夫
    ● チームの工夫
    23

    View Slide

  24. チームの工夫
    ● バリューストリームマップを作って改善する
    ○ コスパの良い改善ポイントを見つけられる
    ○ 開発パフォーマンス指標とバリューストリームマップ
    でチーム改善をする - $shibayu36->blog;
    24

    View Slide

  25. チームの工夫
    ● バリューストリームマップのコツ
    ○ 成果物の受け渡しポイントに着目する
    ○ 成果物 (作った PR) がレビューされていない時間
    ○ 成果物 (merge した PR) がリリースされていない時間
    ○ 職種間、チーム間で、渡した後に着手するまでや
    戻ってくるまでに待ちが発生していないか
    ■ 職種横断チームに組み替えることで短くなるかもしれない
    25

    View Slide

  26. チームの工夫
    ● バディ組み替えで生産性向上
    ○ チームより小さなバディにタ
    スクをアサインして、どんど
    ん終わらせる目標に
    ○ バディで終わらせられるタス
    クが減ったら生産性は戻った
    26

    View Slide

  27. 27
    まとめ

    View Slide

  28. まとめ
    ● デュアルトラックアジャイルという考え方
    ○ デリバリーとディスカバリーの両輪
    ● レベル1生産性の高い良いチームにしたい
    ○ 両輪なので、片輪であるデリバリーも大事
    ● そのために個人やチームで改善していく
    ○ 僕らの事例を紹介しました
    28

    View Slide