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

DevLOVE X ソフトウェア開発に最短経路はあるか

DevLOVE X ソフトウェア開発に最短経路はあるか

2019/06/22-23に開催される「DevLOVE X〜 それぞれの10年、これからの10年 〜」にて発表する資料です。

NAVITIME JAPAN

June 22, 2019
Tweet

More Decks by NAVITIME JAPAN

Other Decks in Business

Transcript

  1. ©NAVITIME JAPAN 自己紹介 小田中 育生 株式会社ナビタイムジャパン 開発部 部長 ACTS(研究開発) ルートグループ責任者

    • 2009年株式会社ナビタイムジャパン入社 • 経路探索 • 交通情報 • ミドルウェア • チャットボット • カイゼン
  2. ©NAVITIME JAPAN 2019/06/23 2009/06/01 チャネル スマートフォン フィーチャーフォン インフラ クラウド オンプレ

    開発プロセス アジャイル ウォーターフォール 組織 フラット・マトリクス型 ピラミッド型 バージョン管理 Git VSS 単体テスト xUnit お手製 or 無し 情報共有 Slack, メール, Confluence メール, Pukiwiki 大きく変化している
  3. ©NAVITIME JAPAN 2019/06/23 2009/06/01 チャネル スマートフォン フィーチャーフォン インフラ クラウド オンプレ

    開発プロセス アジャイル ウォーターフォール 組織 フラット・マトリクス型 ピラミッド型 バージョン管理 Git VSS 単体テスト xUnit お手製 or 無し 情報共有 Slack, メール, Confluence メール, Pukiwiki ゴール スタート 市場の変化で、 ゴール(ビジョン)への 道筋が変わる
  4. ©NAVITIME JAPAN 2019/06/23 2009/06/01 チャネル スマートフォン フィーチャーフォン インフラ クラウド オンプレ

    開発プロセス アジャイル ウォーターフォール 組織 フラット・マトリクス型 ピラミッド型 バージョン管理 Git VSS 単体テスト xUnit お手製 or 無し 情報共有 Slack, メール, Confluence メール, Pukiwiki 例えばGitへの移行
  5. ©NAVITIME JAPAN 2019/06/23 2009/06/01 チャネル スマートフォン フィーチャーフォン インフラ クラウド オンプレ

    開発プロセス アジャイル ウォーターフォール 組織 フラット・マトリクス型 ピラミッド型 バージョン管理 Git VSS 単体テスト xUnit お手製 or 無し 情報共有 Slack, メール, Confluence メール, Pukiwiki プロセスの進化が 開発速度を向上させる
  6. ©NAVITIME JAPAN ツールでの解決 ムダを省くための施策「ペインキラー」 経路品質評価 開発者検証 • 一部メンバに属人化 • 習得コスト高

    • ミスしやすい fabricで一括実行 誰でもできるように • 手動作業が煩雑 • ミスしやすい Jenkinsで完全自動化 もうミスしない
  7. ©NAVITIME JAPAN メンバーC メンバーD メンバーB メンバーA 機能A 機能B 機能C 検証

    モブ導入前のチーム 開発の多くが メンバーAに依存 検証のすべてが メンバーDに依存
  8. ©NAVITIME JAPAN メンバーC メンバーD メンバーB メンバーA 機能A 機能B 機能C 検証

    モブ導入前のチーム A B C A B C A B C A B C 検証 機能A 機能B 機能C 開発
  9. ©NAVITIME JAPAN メンバーC メンバーD メンバーB メンバーA 機能A 機能B 機能C 検証

    モブ導入前のチーム A B C A B C A B C A B C 検証 機能A 機能B 機能C 開発 WT(待ち時間)が発生 メンバーA, Dの疲弊
  10. ©NAVITIME JAPAN メンバーC メンバーD メンバーB メンバーA 機能1 機能2 機能3 検証

    モブ導入前のチーム メンバーC メンバーD メンバーB メンバーA 機能1 機能2 機能3 検証 モブ導入後のチーム
  11. ©NAVITIME JAPAN メンバーC メンバーD メンバーB メンバーA 機能1 機能2 機能3 検証

    モブ導入後のチーム A B C A B C A B C A B C 検証 機能1 機能2 機能3 開発
  12. ©NAVITIME JAPAN メンバーC メンバーD メンバーB メンバーA 機能1 機能2 機能3 検証

    モブ導入後のチーム A B C A B C A B C A B C 検証 機能1 機能2 機能3 開発 ボトルネックが消滅 WTが大幅に低減
  13. ©NAVITIME JAPAN スプリント スプリント スプリント スプリント スプリント スプリント がっつりモブ でやる

    全部モブって のは止めよう モブいいね。 全部モブでも いいかも 全部モブは キツい モブの 時間調整辛い カレンダー つくった 朝会で 募りましょう うーん 途中退室OK! モブの参加者 集まらない… 参加したいが タスクが… どんなモブあ るか知りたい 朝会で やりましょう 日 雇 い 制 度 の 誕 生 も ぶ も ぶ カ レ ン ダ ー の 誕 生
  14. ©NAVITIME JAPAN スプリントプランニング スプリントふりかえり スプリントレビュー デイリー 水曜 水曜 デイリー デイリー

    デイリー デイリー プランニングと レビューの二段構えで ゴールからのズレを回避
  15. ©NAVITIME JAPAN プラクティス 導入の障壁 どうクリアした? バリューストリーム マッピング 時間がかかるので 躊躇される (2-4h)

    1回目: 期初など 区切りのいいとき に実施 それ以降: 1回目の実績を伝えると だいたいゴーサインが出る スクラム 習得が困難 イベントに時間がかかる ふりかえりを軸にメンバーの声を ききながら徐々に導入 一ヶ月くらいかけてじっくり説明 モブプログラミング ほんとに効率的なの? という疑問 まずは一回やってみる
  16. ©NAVITIME JAPAN プラクティス 導入の障壁 どうクリアした? バリューストリーム マッピング 時間がかかるので 躊躇される (2-4h)

    1回目: 期初など 区切りのいいとき に実施 それ以降: 1回目の実績を伝えると だいたいゴーサインが出る スクラム 習得が困難 イベントに時間がかかる ふりかえりを軸にメンバーの声を ききながら徐々に導入 一ヶ月くらいかけてじっくり説明 モブプログラミング ほんとに効率的なの? という疑問 まずは一回やってみる
  17. ©NAVITIME JAPAN スプリントプランニング スプリントふりかえり スプリントレビュー デイリー 水曜 水曜 デイリー デイリー

    デイリー デイリー ふりかえりがルーチン化してると、 「まずはやってみる」 が可能になる
  18. ©NAVITIME JAPAN 小田中のチームでの事例 実施前 新機能開発で 手一杯 経路を よくしたい 経路を よくしたい

    経路を よくしたい きれいな コード 経路を よくしたい テスト しっかり 高速化 したい
  19. ©NAVITIME JAPAN 小田中のチームでの事例 実施前 新機能開発で 手一杯 経路を よくしたい 経路を よくしたい

    経路を よくしたい きれいな コード 経路を よくしたい テスト しっかり 高速化 したい • 実は同じこと考えてる • お互いにそれを知らない
  20. ©NAVITIME JAPAN 小田中のチームでの事例 実施前 新機能開発で 手一杯 経路を よくしたい 経路を よくしたい

    経路を よくしたい きれいな コード 経路を よくしたい テスト しっかり 高速化 したい 実施後 経路を よくしたい!