Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ハードウェア+ソフトウエアの協調アジャイル開発
Search
HIROAKI MATSUNAGA
April 13, 2022
0
55
ハードウェア+ソフトウエアの協調アジャイル開発
IoT/M2M展 2017 講演資料
HIROAKI MATSUNAGA
April 13, 2022
Tweet
Share
More Decks by HIROAKI MATSUNAGA
See All by HIROAKI MATSUNAGA
Scrum Inc. 認定資格スクラムマスター研修のご案内
hiroaki_lsa
0
99
世界の変え方
hiroaki_lsa
0
10
ONE-AGILEの価値と原則
hiroaki_lsa
0
39
LSA CONSULTiNG 事業概要書
hiroaki_lsa
0
81
あじゃいる時代の品質保証 〜DevSQAの提案〜
hiroaki_lsa
0
35
シン・コラボレーション ~ワークショップで体感するコラボレーションの"深"化~
hiroaki_lsa
0
51
テスト自動化から始めるIoT時代の組込アジャイル開発
hiroaki_lsa
0
15
さあDX時代!アジャイルな組織への変革にどう取り組むべきか〜IBMの大規模アジャイルの取り組み〜
hiroaki_lsa
0
47
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
A designer walks into a library…
pauljervisheath
204
24k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
Producing Creativity
orderedlist
PRO
341
39k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Making the Leap to Tech Lead
cromwellryan
133
9k
GitHub's CSS Performance
jonrohan
1030
460k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
4 Signs Your Business is Dying
shpigford
181
21k
Transcript
【IoT/M2M展講演】 ハードウェア+ソフトウエアの 協調アジャイル開発 Ver 1.00 2017年5月10,11,12日 株式会社 豆蔵
“モノ”のインターネット 2 様々な”モノ”が つながる 様々なサービスと つながる 世界中から データが集まる 分析して 利用する
IoT時代のフィードバックループ 3 世界中から データが集まる 分析して 利用する 新しい用途 を思いつく 新しい機能 が必要になる
変化はすぐにでも、何度でもやってくる
4 もはやアジャイル開発は必須
アジャイル開発の基本的な進め方 短い期間で潜在的出荷可能(Potentially Shippable)な製 品開発を反復しながら進める 5 仕様 イテレーション 設計 実装
テスト PSI: Potentially Shippable Increment 仕様 設計 実装 テスト 仕様 設計 実装 テスト 仕様 設計 実装 テスト
PSI実現のための課題1 ソフトウェアがないといハードウェアの実機検証ができない 6
PSI実現のための課題2 ハードウェアがないといソフトウェアの実機検証ができない 7
PSI実現のための課題 ハードウェアのTAT(Turn Around Time)が長い 8
依存関係 ハードウェア開発、ソフトウェア開発の間に“待ち”が存在す ることが、組み込みアジャイル開発における大きな課題。 9 組み込み開発の場合、ハードウェアとソフトウェアの依 存関係をなくすことはできない。
解決方法 ハードウェアもソフトウェアも できるエンジニアを たくさん育成すればいいじゃん!? 10
解決方法 ハードウェアもソフトウェアも できるエンジニアを たくさん育成すればいいじゃん!? 11 まあそうなんだけど(笑。
12 依存関係をなくせないなら どううまく管理するかを考えよう。
依存関係の整理方法 ネットワーク図(PDM:Precedence Diagramming Method) 13 Start E A B
C F Finish D +3d -1d +2d +4d
読み方(リードとラグ) 14 A B C D +3d -1d Aが終わってから3日後 にBが開始できる
Cが終わる1日前に Dが開始できる
従来方式 15 SW HW Finish Start ハードウェアを作ってからソフトウェアを作る。
協調アジャイル開発 16 頭部 HW 頭部 SW 胴部 SW 胴部 HW
右腕 HW 左腕 HW 腕部 SW 左脚 HW 右脚 HW 脚部 SW Finish Start HW/SWを小さく分解し、依存関係を明確にした上でHWと SWのタイミングを合わせ、「待ち」を減らして各部を完成 (PSIに)していく。
計画とコミュニケーション まずは製品全体の要件の依存関係を把握し、HW/SWの開発 優先順位をおおざっぱに決める。 その後はもちろんスプリントごとに要件や優先順位を見直す。 プロダクトオーナーはスプリント計画までに依存関係を把握 し、バックログの優先順位を決めておく。
スプリント計画はHW/SWが同じ日、同じ時間、同じ場所で 行い、依存関係に応じた計画を行う。 HW/SWの各チームは、互いに朝会をオブザーブするなどの 方法で、互いの進捗を把握しておく。 互いのリードタイムを把握し、「HW待ち」「SW待ち」を作 らないよう最大限の努力をする。 17
その他注意点 18 可能な限りリードタイムを短縮する。 制御的に意味のある範囲で、できるだけ小さく分割する。 バラック基板や3Dプリンタも活用して、早くHWを供給 する。シミュレーション等も活用する。
短納期(1d~3d)基板製作サービスなども活用する。 基本はユーザーストーリー単位に分解する。 結線の確認や電力の測定など、HWの検証に最低限必要な 制御をタイムリーに供給できるよう、優先順位を決める。 複数のHWが協調動作するようなアプリケーションは、必 要なHWがそろってから開発する。
まとめ 19 組込システムのアジャイル開発においては、HWとSWの依存 関係をいかに管理するかがカギ。 依存関係とリードタイムを知ることで、互いの「待ち」を極力 削減する。 あらゆる方法をつかってリードタイムを短縮する(特にHW)。 速いほう、柔軟な方が相手に合わせる(特にSW)。
最後に 必要なのは対立ではなくて“協調”。 20
自己紹介 ー 松永広明 株式会社 豆蔵 シニアコンサルタント(2015年~) 1990年のキャリアスタートから、一貫して組込ソフトウェアの開 発に従事。 2011年ごろよりアジャイル開発を推進。 書籍
• わかりやすいアジャイル開発の教科書(2012) レビュアー 資格:ScrumAlliance 認定Scrum Professional 認定Scrum Master 松永広明