Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

【講演資料】ハード+ソフトの協調アジャイル開発

Web系や業務系に比べて導入が難しいとされる組込ソフトウェア開発へのアジャイル開発導入のアプローチについて、その勘所をまとめました。

  • Loggen Sie sich ein, um Kommentare anzuzeigen.

【講演資料】ハード+ソフトの協調アジャイル開発

  1. 1. 【IoT/M2M展講演】 ハードウェア+ソフトウエアの 協調アジャイル開発 Ver 1.00 2017年5月10,11,12日 株式会社 豆蔵
  2. 2. “モノ”のインターネット 2 様々な”モノ”が つながる 様々なサービスと つながる 世界中から データが集まる 分析して 利用する
  3. 3. IoT時代のフィードバックループ 3 世界中から データが集まる 分析して 利用する 新しい用途 を思いつく 新しい機能 が必要になる 変化はすぐにでも、何度でもやってくる
  4. 4. 4 もはやアジャイル開発は必須
  5. 5. アジャイル開発の基本的な進め方  短い期間で潜在的出荷可能(Potentially Shippable)な製 品開発を反復しながら進める 5 仕様 イテレーション 設計 実装 テスト PSI: Potentially Shippable Increment 仕様 設計 実装 テスト 仕様 設計 実装 テスト 仕様 設計 実装 テスト
  6. 6. PSI実現のための課題1  ソフトウェアがないといハードウェアの実機検証ができない 6
  7. 7. PSI実現のための課題2  ハードウェアがないといソフトウェアの実機検証ができない 7
  8. 8. PSI実現のための課題  ハードウェアのTAT(Turn Around Time)が長い 8
  9. 9. 依存関係  ハードウェア開発、ソフトウェア開発の間に“待ち”が存在す ることが、組み込みアジャイル開発における大きな課題。 9  組み込み開発の場合、ハードウェアとソフトウェアの依 存関係をなくすことはできない。
  10. 10. 解決方法 ハードウェアもソフトウェアも できるエンジニアを たくさん育成すればいいじゃん!? 10
  11. 11. 解決方法 ハードウェアもソフトウェアも できるエンジニアを たくさん育成すればいいじゃん!? 11 まあそうなんだけど(笑。
  12. 12. 12 依存関係をなくせないなら どううまく管理するかを考えよう。
  13. 13. 依存関係の整理方法  ネットワーク図(PDM:Precedence Diagramming Method) 13 Start E A B C F FinishD +3d -1d +2d +4d
  14. 14. 読み方(リードとラグ) 14 A B C D +3d -1d Aが終わってから3日後 にBが開始できる Cが終わる1日前に Dが開始できる
  15. 15. 従来方式 15 SWHW FinishStart  ハードウェアを作ってからソフトウェアを作る。
  16. 16. 協調アジャイル開発 16 頭部 HW 頭部 SW 胴部 SW 胴部 HW 右腕 HW 左腕 HW 腕部 SW 左脚 HW 右脚 HW 脚部 SW Finish Start  HW/SWを小さく分解し、依存関係を明確にした上でHWと SWのタイミングを合わせ、「待ち」を減らして各部を完成 (PSIに)していく。
  17. 17. 計画とコミュニケーション  まずは製品全体の要件の依存関係を把握し、HW/SWの開発 優先順位をおおざっぱに決める。  その後はもちろんスプリントごとに要件や優先順位を見直す。  プロダクトオーナーはスプリント計画までに依存関係を把握 し、バックログの優先順位を決めておく。  スプリント計画はHW/SWが同じ日、同じ時間、同じ場所で 行い、依存関係に応じた計画を行う。  HW/SWの各チームは、互いに朝会をオブザーブするなどの 方法で、互いの進捗を把握しておく。  互いのリードタイムを把握し、「HW待ち」「SW待ち」を作 らないよう最大限の努力をする。 17
  18. 18. その他注意点 18  可能な限りリードタイムを短縮する。  制御的に意味のある範囲で、できるだけ小さく分割する。  バラック基板や3Dプリンタも活用して、早くHWを供給 する。シミュレーション等も活用する。  短納期(1d~3d)基板製作サービスなども活用する。  基本はユーザーストーリー単位に分解する。  結線の確認や電力の測定など、HWの検証に最低限必要な 制御をタイムリーに供給できるよう、優先順位を決める。  複数のHWが協調動作するようなアプリケーションは、必 要なHWがそろってから開発する。
  19. 19. まとめ 19 組込システムのアジャイル開発においては、HWとSWの依存 関係をいかに管理するかがカギ。 依存関係とリードタイムを知ることで、互いの「待ち」を極力 削減する。 あらゆる方法をつかってリードタイムを短縮する(特にHW)。 速いほう、柔軟な方が相手に合わせる(特にSW)。
  20. 20. 最後に 必要なのは対立ではなくて“協調”。 20
  21. 21. 自己紹介 ー 松永広明 株式会社 豆蔵 シニアコンサルタント(2015年~) 1990年のキャリアスタートから、一貫して組込ソフトウェアの開 発に従事。 2011年ごろよりアジャイル開発を推進。 書籍 • わかりやすいアジャイル開発の教科書(2012) レビュアー 資格:ScrumAlliance 認定Scrum Professional 認定Scrum Master 松永広明

×