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
スクラムチームだけどエクセルで要件定義書を書くことにしました / Requirements-S...
Search
岡本卓也
June 22, 2024
Technology
1
1.2k
スクラムチームだけどエクセルで要件定義書を書くことにしました / Requirements-Specification-Document-in-Scrum
スクラムフェスタ大阪2024 三河トラック
発表資料
岡本卓也
June 22, 2024
Tweet
Share
More Decks by 岡本卓也
See All by 岡本卓也
私が好きなUMLダイアグラム / The UML Diagrams I Love.
okamototakuyasr2
0
29
合宿はいいぞ / Training camp is so good.
okamototakuyasr2
0
580
幸運を科学する ~アジャイルチームの成功を再現する方法~ / How to reproduce nice team at ESM webiner.
okamototakuyasr2
0
39
幸運を科学する ~アジャイルチームの成功を再現する方法~
okamototakuyasr2
0
1.3k
アジャイルと設計 / Design in Agile Development
okamototakuyasr2
0
38
なぜアジャイルをやるのですか
okamototakuyasr2
0
140
コミュニティと人の縁〜まずは楽しんで、そしてその先にあるもの〜
okamototakuyasr2
0
430
アジャイル開発の中の設計
okamototakuyasr2
0
810
地方でエンジニアをやる
okamototakuyasr2
0
400
Other Decks in Technology
See All in Technology
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
540
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
4
240
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
330
The Rise of LLMOps
asei
9
1.7k
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.7k
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
120
飲食店データの分析事例とそれを支えるデータ基盤
kimujun
0
190
組織成長を加速させるオンボーディングの取り組み
sudoakiy
2
220
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
150
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
190
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
1k
Featured
See All Featured
Become a Pro
speakerdeck
PRO
25
5k
Ruby is Unlike a Banana
tanoku
97
11k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
Music & Morning Musume
bryan
46
6.2k
Typedesign – Prime Four
hannesfritz
40
2.4k
Automating Front-end Workflow
addyosmani
1366
200k
Building Your Own Lightsaber
phodgson
103
6.1k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
Thoughts on Productivity
jonyablonski
67
4.3k
Transcript
© 2024 ESM, Inc. スクラムフェスタ大阪2024 三河トラック スクラムチームだけど エクセルで要件定義書を書くことにしました 1 2024年06月22日
永和システムマネジメント Agile Studio 岡本 卓也
© 2024 ESM, Inc. アジェンダ 1. 自己紹介 2. 私たちの課題 3.
なぜ要件定義書なのか 4. スクラムの要件定義書 5. 作成した要件定義書 6. 私たちの変化 7. 本当の価値 8. 宿題 9. まとめ 2
© 2024 ESM, Inc. 3 自己紹介とプロジェクト説明
© 2024 ESM, Inc. 自己紹介 • 岡本 卓也 • EM@AgileStudio
• スクラムコーチ兼開発者 ◦ ガチWF :15 年 ◦ 過渡期 :5年 ◦ Agile :5年 • アジャイル開発導入支援 WFからの移行支援 • X:@haraguro3 • note:https://note.com/haraguro3 • mail:
[email protected]
4
© 2024 ESM, Inc. 永和システムマネジメント 5 福井本社 WeWork 沖縄 •
金融、医療、組込み(自動車) • Web/Cloud、アジャイル開発 • 社員 210名エンジニア集団
© 2024 ESM, Inc. Agile Studioのサービス 6 組織をアジャイルにするための人づくり
© 2024 ESM, Inc. チームの紹介 7 PO DEVチーム SM SM補佐
• チーム構成: 9名 ◦ 弊社2名、お客さん7名 • お客さんの開発経験 ◦ 手探り:5年くらい ◦ スクラム経験:ゼロ • 開発支援開始: 2023/06~ ◦ 内製化に挑戦 ◦ スクラムに挑戦 • 現在のステータス: ◦ スクラムイベントが定着 ◦ 定期的なデリバリーが可能
© 2024 ESM, Inc. 8 私たちの課題
© 2024 ESM, Inc. みなさんのスクラム開発、順調ですか? 「スクラムチームを作った」 「スクラムの研修を受けた」 「ちゃんとスクラムイベントを開催している」 はずなのに「思ったほど上手く開発できてないな〜」と思うことはありませんか。 例えば
• (思ったよりも)開発のスピードが出ない • (思ったよりも)品質が安定しない • (思ったよりも)リリースした機能がウケない 9
© 2024 ESM, Inc. 私たちのチームで起きたこと 開発支援を始めて半年が過ぎた頃… チームではスクラムイベントが定着し、定期的に製品をデリバリーできるようになり 順調に成長しているように見えるが、同時に不穏な気配も感じられるように。 • 「あれ、これってどうすることにしたんだっけ?」の会話が増える
• 「最近、バーンダウンチャートが着地しないねえ」が常態化する • スプリントレビューで差し戻しが発生する 10
© 2024 ESM, Inc. 振り返りでの気づき 11
© 2024 ESM, Inc. 開発のスピードが出ない こんな状態だった • 正しい動作を考えながらコードを書いている • 書いた本人(考えた人)にしか正解がわからない実装になる
その結果起きること • コードレビューしても意図がわからない • コードレビューしながら正解を考える • ここから議論して書き直し 12 これではスピードは出ない
© 2024 ESM, Inc. 開発の品質が悪い こんな状態だった • 正しい動作を考えながら試験仕様を書いている • 書いた本人(考えた人)にしか正解がわからない試験になる
その結果起きること • 手順書をこなすだけの機械的な試験 • (不具合が発生したら) • 正しい動作を考えながら機能を直す • 正しい動作を考えながら試験仕様を直す 13 これでは品質は出ない
© 2024 ESM, Inc. スプリントレビューでNG こんな状態だった • デモで見せたものがPOの期待と異なる • ステークホルダの間でも期待が異なることが判明
その結果起きること • スプリントやり直し • リリーススケジュールの見直し • リリースする機能のドロップ スクラムではよく「フィードバックを回す」などとポジティブに表現されるが 「不確実性」ではなく「開発能力」のせいで起きてはダメ。 14
© 2024 ESM, Inc. 開発についての共通理解がなかった チームメンバの間で 「何を作ればいいのか」 「なぜそれが欲しいのか」 「どうやって作ればいいのか」 についての理解がバラバラだった
15 群盲象を撫でる方式の開発
© 2024 ESM, Inc. ゴールデンサークル 16 Why What How 効果的なリーダーシップとマーケティングの枠組みを提供する。
Inside-Out(内側から外側へ): 効果的なリーダーシップやマー ケティングは、外側から内側(What→How→Why)ではなく、内 側から外側(Why→How→What)にアプローチすべきだとしてい ます。 最も成功しているリーダーや企業は、「Why(なぜ)」から始 め、次に「How(どのように)」を説明し、最後に「What(何 を)」を伝えています。 Chat GPT-4oさんありがとう
© 2024 ESM, Inc. How: どうやって作る? What: なにを作る? チームに足りなかったもの 17
Why What How 開発者はここに行きがち 本当に大事なのはこちら Why: なぜ欲しい? 「何を作ればいいのか」 「なぜそれが欲しいのか」 「どうやって作ればいいのか」
© 2024 ESM, Inc. そうだ要件定義書を作ろう 18 私たちに必要だったもの バラバラだった理解
How: どうやって作る? What: なにを作る? Why: なぜ欲しい? 作るもの(What)と 理由(Why)を定義 したもの・・それって 要件定義書なのでは?
© 2024 ESM, Inc. 19 なぜ要件定義書なのか
© 2024 ESM, Inc. Q:どこから出てきた? A:岡本の思いつき ガチWF時代は数十人規模のチームで1年以上かけて一つの開発をしていた。 暗黙知や以心伝心は通用せず、効率が悪くてもドキュメントが必要だった。 共通理解のために作る要件定義書の威力は熟知していた。 •
今の我々に足りていないのは共通理解 • ストレートに要件定義書がハマるはず • 今ならあの時の弊害もクリアできる 20 自然な流れ 要件定義書を書こう
© 2024 ESM, Inc. Q:要件定義書なんて書いてもいいの? A:良いです スクラムガイドには要件定義書を作れとは書かれていない。 世の中にあるアジャイル開発のやり方を調べても出てこない。 中で使うプラクティスは自分たちで考える 21
だからといって書いてダメな理由はない
© 2024 ESM, Inc. A:あった • PBIチケットをリッチにする • ユーザーストーリーマッピング •
リファインメント Q:他の選択肢はなかったのか? 22 具体的なタスクや機能の管理 に焦点 全体像やコンテキストを 提供するには不十分 リッチなPBI 機能の流れや優先順位を理解 することに焦点 要件や制約条件を包括的 にカバーできない ユーザーストーリーマッピング 詳細を検討/具体化しPBIを Readyにするためのプロセス 情報を一元的に管理/参照 するには向かない リファインメント 分かりやすさ重視 <<手法>> <<document>> 要件定義書 <<責務>> 共通理解のために 要件を定義する それぞれ、本来の主たる目的を持っているため 別の目的を追加するとチームメンバが混乱する でも… でも… でも…
© 2024 ESM, Inc. 23 スクラムの要件定義書
© 2024 ESM, Inc. 要件定義書 24 ソフトウェア開発プロジェクトやシステム開発プロジェクトにおいて、シス テムやソフトウェアが満たすべき要件を詳細に記述した文書。 プロジェクトの成功に不可欠なドキュメントであり、開発チームやステーク ホルダー間の共通理解を促進し、開発プロセスを円滑に進めるために重要。
© 2024 ESM, Inc. スクラムの要件定義書 25 柔軟性と適応性を重視し、対話とコラボレーションを通じて進化します。価 値の提供を中心に据え、インクリメンタルに進化する要件を簡潔にまとめる ことが特徴。 ソフトウェア開発プロジェクトやシステム開発プロジェクトにおいて、シス
テムやソフトウェアが満たすべき要件を詳細に記述した文書。 プロジェクトの成功に不可欠なドキュメントであり、開発チームやステーク ホルダー間の共通理解を促進し、開発プロセスを円滑に進めるために重要。 スクラムでは
© 2024 ESM, Inc. WF開発の要件定義書 SoR(System of Record)としての役割 1. 完全性と正確性:
◦ WF開発では、プロジェクトの初期段階で詳細な要件定義書を作成します。この文書は、プロジェクト全体の 指針となり、開発の各フェーズ(設計、実装、テスト、展開)における活動を明確にします。 ◦ 要件定義書は、すべての機能要件、非機能要件、制約条件を網羅し、詳細に記述する必要があります。 2. 変更管理: ◦ 要件定義書は、プロジェクトの公式記録として機能します。要件の変更が発生した場合、変更管理プロセス を通じて正式に文書を更新することが求められます。 ◦ 変更が発生すると、すべての関係者に通知され、影響分析が行われます。 3. 契約的役割: ◦ 要件定義書は、顧客と開発チームの間の契約的な文書として機能します。これに基づいて進捗を評価し、契 約上の義務を確認します。 4. トレーサビリティ: ◦ 各要件が設計、実装、テスト、そして最終的な製品にどのように反映されているかを追跡できるようにしま す。これにより、すべての要件が確実に満たされることを保証します。 26 Chat GPT-4oさんありがとう
© 2024 ESM, Inc. スクラムの要件定義書 SoE(System of Engagement)としての役割 1. 柔軟性と適応性:
◦ アジャイル開発では、要件は固定的なものではなく、プロジェクトの進行とともに進化することが前提で す。ユーザーストーリー形式で要件を表現し、プロダクトバックログに管理します。 ◦ 要件はスプリントごとに詳細化され、変更が容易です。 2. 対話とコラボレーション: ◦ 要件定義書そのものよりも、ステークホルダーとの対話やチーム内のコミュニケーションが重要視されま す。要件はミーティングやワークショップで具体化され、理解が深まります。 ◦ プロダクトオーナー、開発チーム、ステークホルダーが継続的に対話し、要件を精査し、優先順位を付けて いきます。 3. 価値の提供: ◦ アジャイルでは、要件定義書は価値を提供するための手段であり、完成品そのものではありません。重要な のは、要件定義を通じて価値のある成果物を継続的に提供することです。 ◦ ユーザーストーリーは、ユーザーや顧客にとっての価値を中心に構成され、優先順位が付けられます。 4. インクリメンタルな進化: ◦ 要件はスプリントごとに詳細化され、リリースごとに見直されます。これにより、プロジェクトの進行に合 わせて要件が進化し、顧客のニーズや市場の変化に迅速に対応できます。 27
© 2024 ESM, Inc. 要件定義書の構成要素 1. プロジェクト概要 2. ステークホルダーの要求 3.
機能要件 4. 非機能要件 5. システム要件 6. ユースケース 7. 制約事項 8. トレーサビリティ 28 SoRの4特性 1. 完全性と正確性: 2. 変更管理: 3. 契約的役割: 4. トレーサビリティ: WF開発の要件定義書
© 2024 ESM, Inc. スクラムの要件定義書の構成要素 1. プロジェクト概要 2. ステークホルダーの要求 3.
機能要件 4. 非機能要件 5. システム要件 6. ユースケース 7. 制約事項 8. トレーサビリティ 29 1. ステークホルダーの要求 2. 機能要件 3. 非機能要件 スクラムの要件定義書 1. 柔軟性と適応性: 2. 対話とコラボレーション: 3. 価値の提供: 4. インクリメンタルな進化: SoEの4特性
© 2024 ESM, Inc. 30 作成した要件定義書
© 2024 ESM, Inc. 私たちの要件定義書 31 Req-ID 要件 理由 1
1テナントでの1日あたりの出荷上限台数を設定できるようにしたい 1テナントから大量の申請が出る場合、システムの出荷上限に到達してしまい、 他のテナントが申請できなくなる 2 全てのテナントに出荷上限台数を設定する必要はない 不要な設定コストをかけたくないため 3 出荷上限台数が設定されていないテナントは、無制限として扱う 不要な設定コストをかけたくないため 4 各テナントに対する出荷上限台数はシステムのUIから設定/参照したい CSチームが設定をしたいため 5 テナントの出荷上限台数を設定した結果、システム全体ではまだ余力があって も上限に到達したテナントからは申請できなくなるが問題ない 運用や開発を簡素化したいから 機能要件・非機能要件 ステークホルダの要求 要素は3つ
© 2024 ESM, Inc. 作成コストは最小限 最小コストで作る • エクセルで作る • 項目は「ID」「要件」「理由」の3つだけ
• 全員で作る 32 Req-ID 要件 理由 1 1テナントでの1日あたりの出荷上限台数を設定できるようにしたい 1テナントから大量の申請が出る場合、システムの出荷上限に到達してしまい、 他のテナントが申請できなくなる 2 全てのテナントに出荷上限台数を設定する必要はない 不要な設定コストをかけたくないため 3 出荷上限台数が設定されていないテナントは、無制限として扱う 不要な設定コストをかけたくないため 4 各テナントに対する出荷上限台数はシステムのUIから設定/参照したい CSチームが設定をしたいため 5 テナントの出荷上限台数を設定した結果、システム全体ではまだ余力があって も上限に到達したテナントからは申請できなくなるが問題ない 運用や開発を簡素化したいから
© 2024 ESM, Inc. 理由を書く 理由を明らかにする 33 Req-ID 要件 理由
1 1テナントでの1日あたりの出荷上限台数を設定できるようにしたい 1テナントから大量の申請が出る場合、システムの出荷上限に到達してしまい、 他のテナントが申請できなくなる 2 全てのテナントに出荷上限台数を設定する必要はない 不要な設定コストをかけたくないため 3 出荷上限台数が設定されていないテナントは、無制限として扱う 不要な設定コストをかけたくないため 4 各テナントに対する出荷上限台数はシステムのUIから設定/参照したい CSチームが設定をしたいため 5 テナントの出荷上限台数を設定した結果、システム全体ではまだ余力があって も上限に到達したテナントからは申請できなくなるが問題ない 運用や開発を簡素化したいから Whyを書く What
© 2024 ESM, Inc. 完璧を目指さない ハードルを下げる • 網羅性は求めない • 正確性は求めない
• 整合性は求めない 重要なのは対話と共通理解の促進であり、ドキュメントはそのきっかけ そのために作るのをためらう位ならない方が良い 34 (心の声)正直言えば欲しいけど 定義書なのに…
© 2024 ESM, Inc. 作成の単位はPBI 要件はスプリント毎に詳細化される 35 プロダクトバックログ スプリントバックログ 要件定義書
要件定義書 • 最初に全部作らず、スプリント毎に小さく作る • 「分割統治」と「関心事の分離」
© 2024 ESM, Inc. メンテナンスはしない ドキュメントで一番面倒なのはメンテナンス • 要件定義書は開発時点のスナップショット • 要件定義書の寿命は1スプリント
• スプリントが終わればメンテ不要 36 ドキュメントなのに…
© 2024 ESM, Inc. 37 私たちの変化
© 2024 ESM, Inc. ステークホルダと会話するようになった Before • POは偉い人 • エンドユーザは遠い存在
• 要求は変えられない • 自分は要求を考える人ではない 38 After • POを問い詰める • CSと会話のチャンネルを作る • 要求の問題点を指摘する • 要求の代替案を提示する 元から過度な上下関係や組織の壁があった訳ではないが、自分たちの役割を勝手に線引きし て活動内容を制限していた。要求の「理由」を書こうとして初めて「あれ?何でだっけ?」 と知らなかったことに気づき、周囲のステークホルダと会話するようになった。
© 2024 ESM, Inc. ビジネスのことを考えるようになった Before • 言われたものを作る • 誰が使うのか?は気にしない
• 何に使うのか?は気にしない • 使いやすいか?は気にしない 39 After • どんな機能? • 誰がどんな場面で使う? • どんな価値がある? ビジネス 開発 PO DEV 越境 ビジネス 開発 PO DEV
© 2024 ESM, Inc. 品質が早く安定するようになった Before 1. 欲しいものを指示される 2. 期待(要件)を考えながら作る
3. 期待を満たす試験を作る 4. 期待通り動くか試験する 5. 欲しいものと違っている 40 After 1. 欲しいものを指示される 2. 期待(要件)を整理する 3. 期待を満たす試験を作る 4. 期待を満たすように作る 5. 期待通り動くか試験する 実装 試験 仕様 試験 要求 製品 試験仕様 製品 要件 実装 試験 要求
© 2024 ESM, Inc. 「理解した」のレベルと範囲 深く理解できるようになった 41 チームの誰かが 理解を書き出せる 他人に説明できる
わかった気がする 自分で実装できる チームの全員が 理解を書き出せる 他人に説明できる わかった気がする 自分で実装できる レベル 範囲 要件定義書を書くことで ここに到達できる 今まではここで 開発していた
© 2024 ESM, Inc. 42 本当の価値
© 2024 ESM, Inc. 本当の価値 アジャイル開発における要件定義書は、柔軟性と適応性を重視し、対話とコラボレーション を通じて進化します。共通理解の促進を中心に据え、インクリメンタルに進化する要件を簡 潔にまとめることが特徴です。詳細な要件定義書は最小限に抑えられ、必要な情報はプロダ クトバックログやユーザーストーリーに含まれます。 43
私たちに必要だったもの 対話する場 そこで交わされる会話 対話とコラボレーション
© 2024 ESM, Inc. 行動を誘発する 44 私が書いたヨ
© 2024 ESM, Inc. 行動を誘発する 45 Req-ID 要件 理由 1
1テナントでの1日あたりの出荷上限台数を設定できるようにしたい 1テナントから大量の申請が出る場合、システムの出荷上限に到達してしま い、他のテナントが申請できなくなる 2 全てのテナントに出荷上限台数を設定する必要はない 不要な設定コストをかけたくないため 3 出荷上限台数が設定されていないテナントは、無制限として扱う 不要な設定コストをかけたくないため 4 各テナントに対する出荷上限台数はシステムのUIから設定/参照したい CSチームが設定をしたいため 5 テナントの出荷上限台数を設定した結果、システム全体ではまだ余力があっても 上限に到達したテナントからは申請できなくなるが問題ない 運用や開発を簡素化したいから 利用者の真の要求を理解しチームのメンバー内で共有するために 「会話」を誘発する
© 2024 ESM, Inc. 宿題 46
© 2024 ESM, Inc. いい事ばかりではなかった 要件定義書を書くのは難しい • 誰にでも書ける訳ではない • 「要求」と「要件」と「仕様」の区別が難しい
• 本当に開発スピードが速くなっているか疑問 特にWF開発を経験していないアジャイル ネイティブ世代と呼ばれる人たちにとって 要件定義という行為そのものが難しい。 ロストテクノロジーになる前に次の世代に 継承していくのがWF世代エンジニアの責務。 47 布教と改善を
© 2024 ESM, Inc. 48 まとめ
© 2024 ESM, Inc. まとめ 今日お話ししたこと • スクラムはフレームワーク、中身は自分たちで考える • 開発で一番大事なことはWhyの共通理解
• Whyを全員で理解するために要件定義書を書いてみた • スクラムの要件定義書はシンプルで良い • 要件定義書は作成する過程自体に価値がある • 要件定義書を書くことでチームに良い変化が起きた • 本当の価値は会話の誘発 • この取り組みはまだ未完成、旅は続きます 49
© 2024 ESM, Inc. 50 ありがとうございました
© ESM, Inc. アジャイルアンギャ 島根・福井・福岡開催決定!
© 2024 ESM, Inc. 永和システムマネジメント 52 福井本社 WeWork 沖縄 •
金融、医療、組込み(自動車) • Web/Cloud、アジャイル開発 • 社員 210名エンジニア集団 We’re hiring!