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

アジャイルの手法を取り入れたプロジェクトマネジメントの実例

 アジャイルの手法を取り入れたプロジェクトマネジメントの実例

DAIKIN Developer Day1の登壇資料です。

Takuya Kitamura

March 31, 2021
Tweet

More Decks by Takuya Kitamura

Other Decks in Technology

Transcript

  1. 2 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. 自己紹介

    北村 拓也 (Twitter : @chipstar_light) ダイキン工業株式会社所属 2017年6月:キャリア入社 ~2018年11月:テクノロジー・イノベーションセンター:研究員 ~現在:空調生産本部商品開発グループ:主任技師 Daikin Global Platform構築プロジェクトのプロジェクトマネージャー ダイキン工業入社前 1社目:SIerに入社。自社プロダクトのプログラマ~プロジェクトマネジャーまで。 2社目:ベンチャーのコンサル会社で技術導入コンサルと受託開発。 コミュニティ活動 京都アジャイル勉強会(#京アジャ)運営のお手伝いしてます。 時々JAWS-UG関連のコミュニティに出没します。
  2. 3 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. Daikin

    Global Platform 全世界の空調機をインターネットにつないで、販売、施工、運用、保守、更新といったライフサイクルに対 するサービスを提供する レジデンシャル市場(家庭用) コマーシャル市場(業務用) リージョンアプリ(地域別機能とUI) クラウドプラットフォーム RA 一般住宅などの 小規模建物 スマホ ユーザ エコキュート 床暖 エッジ エッジ 大規模住宅(豪邸) などの中規模建物 VRV ユーザ 燃焼/ボイラ アルテルマ QA RA スマホ エコキュート 床暖 VRV QA RA オフィスビルなど 中規模建物 管理パネ ル オーナー ビル管 テナント RA ショッピングモールなど 大規模建物 アプライド 管理パネ ル VRV QA オーナー ビル管 テナント 共通部品(API)群 (機器操作等) システム間 連携 分析システム BMS/BEMS その他システム 柔軟性・拡張性 自動最適制御 情報蓄積 基盤 (DB) 情報蓄積基盤(DB) マーケ ティング 営業 商品 開発 品質 管理 施工 業者 販売店 BI/分析ツール 各地域開発者 地域別アプリケーション サービスアプリ 顧客管理、 課金管理など 個人情報保護 不正制御など セキュリティ
  3. 4 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. チームメンバーの登壇事例

    Serverless Days Tokyo 2019 JAWS-UG re:Union 2018 Osaka AWSを活用したIoTプラットフォーム開発
  4. 5 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. 今日伝えたいこと

    • 製造メーカーでITプロジェクトに取り組む中での試行錯誤 の様子 • 大企業にゼロからアジャイルのプラクティスを持ち込んで みた事例 • 古き良き大企業でもやり方は変えていけること
  5. 6 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. プロジェクトの特徴

    • 自社で作っている機器をIoTを使ってサービス化するシステムの開発プロジェクト • 機器メーカーのため、組み込みではない大規模サービス開発のノウハウが乏しい • サーバーレスアーキテクチャやモダンフロントエンド技術など最先端への取り組みへ の挑戦 IoTプラットフォーム エッジ デバイス 機 器 機 器 機 器 機 器 インターネット インターネット エッジ デバイス アプリバックエンド アプリフロントエンド インターネット PMチーム(2名) エッジソフトチーム(10名) IoTプラットフォームチーム(10名) アプリバックエンドチーム(10名) アプリフロントエンドチーム(10名) 統合テストチーム(10名)
  6. 7 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. タイムボックスによる反復型プロセス

    • 不確実性の高いプロジェクト&期間の長いプロジェクト • 計画は”一度決めたら変えずに死守するもの”ではなく、”状況に応じて見直すもの”と定義 • 定期的に計画を見直すタイミングを設ける • 問題の有無に関わらず、マネージャーの介入タイミングを図りやすい。 全体計 画 イテ レー ション 計画 開発 振り返 り 全体計 画見直 し リリー ス バッファを持 たせた粗い計 画 イテレーション(1ヶ月) 少しづつ見積 もり精度向上 させる 1ヶ月の詳 細計画 1ヶ月の実 績を振り返 り
  7. 8 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. イテレーションの進め方

    下流チーム 全 体 計 画 イ テ レ ー シ ョ ン 計 画 開 発 振 り 返 り 全 体 計 画 見 直 し イ テ レ ー シ ョ ン 計 画 開 発 振 り 返 り イ テ レ ー シ ョ ン 計 画 開 発 振 り 返 り 全 体 計 画 見 直 し イ テ レ ー シ ョ ン 計 画 開 発 振 り 返 り イ テ レ ー シ ョ ン 計 画 開 発 振 り 返 り 全 体 計 画 見 直 し イ テ レ ー シ ョ ン 計 画 開 発 振 り 返 り 上流チーム … … 全体計画に基づ いた1ヶ月の詳 細計画 イテレーション 計画に基づいた 結果の分析 振り返りに基づ いた見直し。 スコープや体制、 プロセスの調整。 N月 N+1月 N+2月 各チームイテ レーションの開 始日、終了日は 統一 チーム内は日々 状況確認、チー ム間は週1で状 況の共有 見直した全体計 画に基づいて計 画 チーム間の接点 も全体計画の中 で見直し 他チームへの成果物の受け渡し は、必ず次のイテレーションで 実施。 イテレーション期間中は自チー ムの作業に集中。
  8. 9 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. Feature単位の見積りと計画

    • フェーズ単位の計画ではなく、機能単位の計画を立てる • Function単位の計画ではなく、Feature単位の計画を立てる 機能 N月 N+1月 N+2月 N+3月 ログイン機能 商品検索機能 商品購入機能 レコメンド機能 機能 N月 N+1月 N+2月 N+3月 ログイン機能 商品検索機能 商品購入機能 レコメンド機能 基本 設計 詳細 設計 実装 テス ト 設実テ 設実テ 設計/実装/テスト 設実テ 機能 N月 N+1月 N+2月 N+3月 通信モジュール 商品一覧画面 購入決済画面 メール送信部品 機能 N月 N+1月 N+2月 N+3月 ログイン機能 商品検索機能 商品購入機能 レコメンド機能 設実テ 設実テ 設計/実装/テスト 設実テ 設実テ 設実テ 設計/実装/テスト 設実テ
  9. 10 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. 振り返り

    • メトリクスを使った振り返り • Feature単位の見積もりと実績の差 • チームメンバー単位の予定工数と実績工数の差 • 割り込みや計画時に想定外の作業の量 • テストで発見された不具合の件数とその内容 • 気合と根性で頑張るではなく、根拠に基づく改善を行える • 定量化した数値で評価する事で、納得性を得やすい
  10. 11 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. 動くソフトウェアで進捗を管理する

    • Feature単位で進捗を確認する • 全体計画ではどのイテレーションでどのFeatureを開発するのかを決める • イテレーション計画にて、Featureを詳細タスク化し日々のスケジュールに落とす • 進捗はイテレーション単位で確認する • 具体的には、イテレーションの終わりに完成したFeatureのデモを実施する • デモを見て期待した動作が得られていたら完成とし、進捗した事とする • 定性的な指標で進捗を管理しない • ガントチャートの進捗やドキュメントの完成報告ではなく、動くソフトウェアで確認する • Feature単位で計画すると、個々のFeatureが完成したタイミングで顧客視点での動くものが 確認できる
  11. 12 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. テストの自動化

    • 回帰テストの効率化 • Feature単位の反復型開発を進めると、初期開発機能のデグレが気になる。 • 一度リリースして終わりのシステムではないため、効率的なデグレ確認が必要。 • E2Eテストの自動化 • ステークホルダーにも費用対効果がわかりやすいE2Eテストをターゲットにする • E2Eテストでは効率が悪い部分は、モジュール単位のテストに取り組む • 強い意志を持って遂行する • これまでのどのプラクティスよりも導入コストが高い • やりきるまで効果が見えにくい
  12. 13 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. 継続的インテグレーション

    • イテレーション毎に機能を完成させるには、チーム内での早期結合が必要 • チーム間の統合もイテレーション毎に行う • 技術領域が幅広いため、Feature別チームではなくFunction別チームになっている • Featureとして統合する専用のチーム(統合テストチーム)を設ける • 仕組みが整うまではCI環境(パイプライン)構築の専門部隊を設ける エッジソフトチーム IoTプラットフォームチーム アプリチーム 統合テストチーム イテレーション#1 実装#1 実装#2 実装#3 実装#1 実装#1 統合#1 実装#2 実装#2 実装#3 実装#3 統合#2 統合#3 イテレーション#2 イテレーション#3 イテレーション#4
  13. 14 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. 今後の取り組み

    • イテレーションの期間を短くする • 振り返り/統合など各種のフィードバックサイクルが1カ月では長い • 良かった取り組みをクローズアップした振り返り • 定量的なメトリクスを見ると悪い部分がフォーカスされがち • Functionチームではなく、Featureチームにする • メンバーの多能工化 • 顧客価値の検証を中心にした開発プロセスへの見直し • 市場に出すまでに時間をかけすぎており、フィードバックサイクルが遅い • もっと小さく、もっと早く