Slide 1

Slide 1 text

進むために, 止まる。 株式会社ナビタイムジャパン 小田中 育生

Slide 2

Slide 2 text

小田中 育生 (おだなか いくお) (株)ナビタイムジャパン 開発部 部長 ACTS(研究開発) ルートグループ責任者 ミッション ・経路探索のR&D ・全社的なカイゼン活動

Slide 3

Slide 3 text

Recent Works 106 223 352 606 749 1864 30704 1 10 100 1000 10000 100000 0 200 400 600 800 1000 1200 1400 1600 1800 2000 10 60 110 160 距離[km] 距離と探索時間 GPU Kepler GPU Volta CPU CPU 階層1のみ 指数関数的な 計算時間増大を克服

Slide 4

Slide 4 text

いかに正しく作るか Slideshare「正しいものを正しくつくる」本とはなにかより

Slide 5

Slide 5 text

正しくつくるチーム

Slide 6

Slide 6 text

チームが同じ方向を向いている

Slide 7

Slide 7 text

アジャイルなカイゼンサイクル プロダクトがあって、 ユーザーが使い、 フィードバックをうけ、 何をつくるかを決め、 開発し、届ける。

Slide 8

Slide 8 text

これらは自然には発生しない

Slide 9

Slide 9 text

一人ひとり方向性や前提は異なる

Slide 10

Slide 10 text

高速化したい コードをきれいに 書きたい 経路の質を あげたい 新しい機能を つくりたい

Slide 11

Slide 11 text

何を、なぜつくるのか 我々はなぜここにいるのか 気持ちを揃える ↓ チームビルディング

Slide 12

Slide 12 text

「5分でわかった気になるインセプションデッキ」@TAKAKING22 https://www.slideshare.net/TakaoOyobe/5-45195080 例えばインセプションデッキ

Slide 13

Slide 13 text

何を、なぜつくるのか 我々はなぜここにいるのか チームの優先順位は何か チームで対話する

Slide 14

Slide 14 text

高速化したい コードをきれいに 書きたい 経路の質を あげたい 新しい機能を つくりたい 経路探索を よくしたい 経路探索を よくしたい 経路探索を よくしたい 経路探索を よくしたい

Slide 15

Slide 15 text

高速化したい コードをきれいに 書きたい 経路の質を あげたい 新しい機能を つくりたい 経路探索を よくしたい 経路探索を よくしたい 経路探索を よくしたい 経路探索を よくしたい 「経路探索をよくしたい」が メンバーの共通項だった ↓ 対話により方向性が揃う

Slide 16

Slide 16 text

カイゼンサイクルを回すには プロセスの中で 「正しいもの」が再定義される 今、何を優先して 開発するべきか どう開発するかを決める プロセスに着目しカイゼンする モチベーションの維持・向上

Slide 17

Slide 17 text

正しくつくるために チーム ビルディング 計 画 レ ビ ュ ー ふ り か え り

Slide 18

Slide 18 text

チームビルディング 計画 レビュー ふりかえり 開発の手を止め、「たちどまる」

Slide 19

Slide 19 text

たちどまることが できているか

Slide 20

Slide 20 text

よく相談される悩み 忙しくなると、 ふりかえりが 省略されちゃう チームビルディング したいけど 時間がとれません…

Slide 21

Slide 21 text

現場で起こっていること プランニング時に内職 そもそも参加しない

Slide 22

Slide 22 text

「どうしてわかってくれないんだ」 そう思ってしまうことが あるかもしれない

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

いまこそ対話を重視するとき。 なぜ、たちどまれないのか 耳を傾けてみる

Slide 25

Slide 25 text

時間がない?

Slide 26

Slide 26 text

コーディングに集中したい?

Slide 27

Slide 27 text

手を止めることが、怖い?

Slide 28

Slide 28 text

小田中 育生 (おだなか いくお) (株)ナビタイムジャパン 開発部 部長 ACTS(研究開発) ルートグループ責任者 ミッション ・経路探索のR&D ・全社的なカイゼン活動 自分自身、過去には コーディング以外に時間が取られる ことに抵抗があった それが、なぜアジャイルを 推進するようになったのか?

Slide 29

Slide 29 text

計 画 ふ り か え り コーディングに(見かけ上) 集中できる環境

Slide 30

Slide 30 text

計 画 ふ り か え り コーディングに(見かけ上) 集中できる環境 時間がかかりなかなか開発できない 途中で変更しづらい

Slide 31

Slide 31 text

計 画 ふ り か え り コーディングに(見かけ上) 集中できる環境 ・終盤でわかる認識の齟齬 ・計画の遅延 ・リリースしたけど使われない

Slide 32

Slide 32 text

計 画 ふ り か え り コーディングに(見かけ上) 集中できる環境 改善しようがない課題ばかりが出る 険悪な空気 「ふりかえり、いらないよね」

Slide 33

Slide 33 text

そんなときに見つけたスライド https://speakerdeck.com/ryuzee/sukuramufalseji-chu?slide=4

Slide 34

Slide 34 text

小田中 育生 (おだなか いくお) (株)ナビタイムジャパン 開発部 部長 ACTS(研究開発) ルートグループ責任者 ミッション ・経路探索のR&D ・全社的なカイゼン活動 このスライドとの出会いをきっかけに アジャイルの導入を決意し 自分の現場での経験をきっかけに アジャイルの推進をはじめた

Slide 35

Slide 35 text

時間がない コーディングに集中したい 手を止めることが怖い どう向き合ったのか

Slide 36

Slide 36 text

1. 客観的事実の提示 https://speakerdeck.com/ryuzee/sukuramufalseji-chu?slide=4 「多くの機能が使われない」 この事実は驚きがあり、 また説得力がある コーディングの時間を 使ってでも立ち止まるべき、 と理解してもらえた

Slide 37

Slide 37 text

2. タスクの整理 「やらなければいけない」と思っている タスクリストの棚卸し 集中した時間がとれるスケジューリング 必要性の薄いMTGの欠席 「時間がない」メンバーに対しては 個人単位でこういったサポートを実施

Slide 38

Slide 38 text

リリースごとに作成していた資料 Release x.x.xでの変更点 関係者へ送付

Slide 39

Slide 39 text

リリースごとに作成していた資料 Release x.x.xでの変更点 関係者へ送付 資料作成、時間かかるので 見直したいんですけど

Slide 40

Slide 40 text

リリースごとに作成していた資料 Release x.x.xでの変更点 関係者へ送付 資料作成、時間かかるので 見直したいんですけど 見てないから なくても大丈夫です 見てないから なくても大丈夫です そんな資料 あったんですね!

Slide 41

Slide 41 text

作ったものが使われないのは、悲しい。

Slide 42

Slide 42 text

なぜ必要か、誰がいつ使っているかを 精査すれば省略できるタスクは見つかる。

Slide 43

Slide 43 text

3. 変化の見える化 なによりも「成果」で示すことが大切。 たちどまることで起きる変化を見える化する。

Slide 44

Slide 44 text

0 2 4 6 8 10 12 14 16 8月 9月 10月 11月 デプロイ数 デプロイ数 例えば、デプロイ数の増加

Slide 45

Slide 45 text

外部の具体的な成功事例を見せるもよし

Slide 46

Slide 46 text

それぞれの視点で課題と向き合い たちどまる勇気を持つ

Slide 47

Slide 47 text

たちどまりながら走るチームができた そしてまた新しい壁にぶつかる

Slide 48

Slide 48 text

チーム ビルディング 計 画 レ ビ ュ ー ふ り か え り ふりかえり、あまり 意味がないのでは? レビューの時間、 いりますかね

Slide 49

Slide 49 text

「どうしてわかってくれないんだ」 ふたたび

Slide 50

Slide 50 text

「いや、これはスクラムでは必要なプラクティスなんだ」 そういって押し切ってしまうと、 みかけだけ参加して内職する 「静かな反抗」が始まってしまう。 なぜやるのか理解してもらう必要があるし、 なぜそう思ったのか理解する必要がある。

Slide 51

Slide 51 text

No content

Slide 52

Slide 52 text

いまこそ対話を重視するとき。 なぜ、そう思ったのか 耳を傾けてみる

Slide 53

Slide 53 text

チーム ビルディング 計 画 レ ビ ュ ー ふ り か え り ふりかえり、あまり 意味がないのでは? レビューの時間、 いりますかね マンネリ化してる カイゼンにつながってない 形骸化してる 基準があいまい

Slide 54

Slide 54 text

メンバーの声から課題を抽出し、 プロセス自体のカイゼンにつなげる。

Slide 55

Slide 55 text

チームAのプロセス変遷 2週間スプリント 月~金 ・朝会15m (everyday) ・プランニング 2h ・レビュー 1h ・ふりかえり 1.5h 1週間スプリント 水(午後)~水(午前) ・朝会15m (everyday) ・プランニング 2h ・レビュー 1h ・ふりかえり 1h 1週間スプリント 水(午後)~水(午前) ・朝会15m (everyday) ・プランニング 2h ・レビュー 1.2h ・ふりかえり 0.8h 1週間スプリント 水(午後)~水(午後) ・朝会15m (everyday) ・プランニング 2h ・レビュー 1.2h ・ふりかえり 0.8h 1週間スプリント 水(午後)~水(午後) ・朝会15m (everyday) ・プランニング 1h ・レビュー 1h ・ふりかえり 1h 2週間スプリント 水(午前)~水(午前) ・朝会15m (everyday) ・プランニング 1.25h ・レビュー 0.5h ・ふりかえり 1.25h

Slide 56

Slide 56 text

チームBのプロセス変遷 2週間スプリント 月~金 ・朝会15m (everyday) ・プランニング 0.5h ・レビュー 0.5h ・ふりかえり 1.0h 2週間スプリント 月~金 ・朝会15m (everyday) ・プランニング 1.0h ・レビュー 0.5h ・ふりかえり 1.0h 2週間スプリント 水~火 ・朝会15m (everyday) ・プランニング 1.0h ・レビュー 1.0h ・ふりかえり 1.0h 2週間スプリント 水~火 ・朝会15m (everyday) ・プランニング 1.0h + リファインメント 1.0h(スプリント折返し時) ・レビュー 1.0h ・ふりかえり 1.0h

Slide 57

Slide 57 text

自分たちで立ち止まり、ふりかえり、実験する 同じスタートを切ったチームでも それぞれのやり方に変わってゆく

Slide 58

Slide 58 text

ある瞬間にうまくいっていなくても 自分たちでカイゼンできる 自分たち流に進化する

Slide 59

Slide 59 text

変化するチームは、 立ち止まっている

Slide 60

Slide 60 text

ところで

Slide 61

Slide 61 text

いかに正しく作るか Slideshare「正しいものを正しくつくる」本とはなにかより

Slide 62

Slide 62 text

開発の現場にとって 「正しいもの」は与えられるものか?

Slide 63

Slide 63 text

チーム ビルディング 計 画 レ ビ ュ ー ふ り か え り 「正しいもの」をつくれているか 自らアプローチしていく姿勢

Slide 64

Slide 64 text

現場で起こっていること ・プランニングでの課題 ・あいまいな受け入れ基準のままスプリントを始める ・レビューでの課題 ・動くソフトウェアがないまま判断してしまう

Slide 65

Slide 65 text

自分たちでカイゼンできるチームが なぜ正しいものをつくれないのか

Slide 66

Slide 66 text

チーム ビルディング 計 画 レ ビ ュ ー ふ り か え り カイゼンの向き先が プロセスにのみ向いている?

Slide 67

Slide 67 text

チーム ビルディング 計 画 レ ビ ュ ー ふ り か え り 動くソフトウェアが出せるサイクルと スプリント期間があってない?

Slide 68

Slide 68 text

チーム ビルディング 計 画 レ ビ ュ ー ふ り か え り ステークホルダーの期待からずれた アウトプットに執着している?

Slide 69

Slide 69 text

ステークホルダーからは こう思われているかもしれない

Slide 70

Slide 70 text

「どうしてわかってくれないんだ」

Slide 71

Slide 71 text

うまくいっていると感じていても チームの外からそう思われているとは 限らない

Slide 72

Slide 72 text

Recent Works 106 223 352 606 749 1864 30704 1 10 100 1000 10000 100000 0 200 400 600 800 1000 1200 1400 1600 1800 2000 10 60 110 160 距離[km] 距離と探索時間 GPU Kepler GPU Volta CPU CPU 階層1のみ 指数関数的な 計算時間増大を克服 目覚ましい成果は 確固たるビジョンと 立ち止まれるチームから生まれてきた

Slide 73

Slide 73 text

チームは、自分たちだけではなく 外部とも向き合う必要がある。 そのために何ができるだろう。

Slide 74

Slide 74 text

チームの約束と向かい合う 「5分でわかった気になるインセプションデッキ」@TAKAKING22 https://www.slideshare.net/TakaoOyobe/5-45195080 3ヶ月に1度見直し、 行動も見直す

Slide 75

Slide 75 text

ゴールに辿り着くためのカイゼン 2週間スプリント 月~金 ・朝会15m (everyday) ・プランニング 0.5h ・レビュー 0.5h ・ふりかえり 1.0h 2週間スプリント 月~金 ・朝会15m (everyday) ・プランニング 1.0h ・レビュー 0.5h ・ふりかえり 1.0h 2週間スプリント 水~火 ・朝会15m (everyday) ・プランニング 1.0h ・レビュー 1.0h ・ふりかえり 1.0h 2週間スプリント 水~火 ・朝会15m (everyday) ・プランニング 1.0h + リファインメント 1.0h(スプリント折返し時) ・レビュー 1.0h ・ふりかえり 1.0h チームBは求められている成果を 出すためにリファインメントを始めた

Slide 76

Slide 76 text

2週間スプリント 月~金 ・朝会15m (everyday) ・プランニング 2h ・レビュー 1h ・ふりかえり 1.5h 1週間スプリント 水(午後)~水(午前) ・朝会15m (everyday) ・プランニング 2h ・レビュー 1h ・ふりかえり 1h 1週間スプリント 水(午後)~水(午前) ・朝会15m (everyday) ・プランニング 2h ・レビュー 1.2h ・ふりかえり 0.8h 1週間スプリント 水(午後)~水(午後) ・朝会15m (everyday) ・プランニング 2h ・レビュー 1.2h ・ふりかえり 0.8h 1週間スプリント 水(午後)~水(午後) ・朝会15m (everyday) ・プランニング 1h ・レビュー 1h ・ふりかえり 1h 2週間スプリント 水(午前)~水(午前) ・朝会15m (everyday) ・プランニング 1.25h ・レビュー 0.5h ・ふりかえり 1.25h チームAは開発スピードにあわせ スプリント期間を2週間に戻した 開発サイクルのみなおし

Slide 77

Slide 77 text

期待とずれにくい目標設定 OKR Objective (目標) Key Results(主要な結果) 4月から導入、月イチで見直し

Slide 78

Slide 78 text

ん? トップダウンで 動くしかないってこと?

Slide 79

Slide 79 text

OKRは双方向。 ボトムアップのインプットが重要

Slide 80

Slide 80 text

例えば、自分たちの開発環境。 ゴールからの逆算では 課題が見えづらい。

Slide 81

Slide 81 text

共用のテスト用サーバー ・待ち行列が発生 ・意図しない環境の変更がある 個人用のテスト用サーバー ・待ち行列なし ・個別に環境を維持できる エンジニアが発案したカイゼン

Slide 82

Slide 82 text

最前線で開発するエンジニア だからこそ気付けることがある ↓ 気付きをとりこむチーム文化

Slide 83

Slide 83 text

・カイゼンの向き先が内向き ・サイクルのミスマッチ ・期待とのズレ 「正しいもの」は、「正しくつく」れば 簡単にできるものではない。

Slide 84

Slide 84 text

「正しいもの」をつくるうえで 課題になっていることと向き合う。 「正しく」つくるプロセスと 本質は同じ。

Slide 85

Slide 85 text

正しくつくるために 我々は立ち止まる必要がある。

Slide 86

Slide 86 text

立ち止まることは怖い。 今、目の前の仕事を脇に置いていいか 悩んだことのない人などいるのか?

Slide 87

Slide 87 text

なので、 「どうしてわかってくれないんだ」 と嘆くのではなく

Slide 88

Slide 88 text

それぞれの視点で課題と向き合い 立ち止まる勇気を持つ

Slide 89

Slide 89 text

「正しいもの」を作っているか。 これも、開発の現場にとっては 重要な問いかけだ。

Slide 90

Slide 90 text

進むために、止まる。 それこそが 正しいものを正しくつくる 原動力である。

Slide 91

Slide 91 text

Thanks!