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
岡本卓也
June 22, 2022
Technology
0
810
アジャイル開発の中の設計
岡本卓也
June 22, 2022
Tweet
Share
More Decks by 岡本卓也
See All by 岡本卓也
私が好きなUMLダイアグラム / The UML Diagrams I Love.
okamototakuyasr2
0
29
スクラムチームだけどエクセルで要件定義書を書くことにしました / Requirements-Specification-Document-in-Scrum
okamototakuyasr2
1
1.2k
合宿はいいぞ / 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
400
Other Decks in Technology
See All in Technology
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
330
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.9k
CysharpのOSS群から見るModern C#の現在地
neuecc
2
3.6k
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
210
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
880
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
920
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
560
SDNという名のデータプレーンプログラミングの歴史
ebiken
PRO
2
100
あなたの知らない Function.prototype.toString() の世界
mizdra
PRO
2
340
『Firebase Dynamic Links終了に備える』 FlutterアプリでのAdjust導入とDeeplink最適化
techiro
0
160
SSMRunbook作成の勘所_20241120
koichiotomo
3
170
Storybook との上手な向き合い方を考える
re_taro
4
680
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Building Applications with DynamoDB
mza
90
6.1k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Music & Morning Musume
bryan
46
6.2k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
Git: the NoSQL Database
bkeepers
PRO
427
64k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Transcript
© 2022 ESM, Inc. Scrum Fest Osaka 2022 アジャイル開発の中の設計 1
2022年06月18日 株式会社永和システムマネジメント Agile Studio 岡本 卓也
© 2022 ESM, Inc. 「設計」は好きですか? 2
© 2022 ESM, Inc. 今日のゴール 「設計」を好きになってもらいたい 3
© 2022 ESM, Inc. まえおき 4
© 2022 ESM, Inc. 自己紹介 Agile Studioエンジニア 日々是 Agile/Scrum Agileに憧れて転職
元はWFガチ勢 5
© 2022 ESM, Inc. WF時代の仕事(1997~2017) 大企業型ソフト開発 キャリアネットワーク製品開発 エンジニア&マネージャ 6
© 2022 ESM, Inc. アングルをつけて眺めてみる 7 WF Agile コアが見えてくる、かも 設計
© 2022 ESM, Inc. 想定している対象者 • WFからAgileに移行(する|している|した) • Agileネイティブ •
「設計」と聞くと感情が乱れる人 8
© 2022 ESM, Inc. 最近、スプリントレビューで困った事 1. 何を説明すればいいの? 2. どうなってたらOKと言ってもらえる? 3.
そういうのっていつ決めるの? 9 もしかして設計?
© 2022 ESM, Inc. 設計とは何か ソフトウェアのための問題解決と計画の工程である。 ソフトウェアの目的と仕様が決定した後で ソフトウェア開発者が設計をしたり 専門の設計者が開発計画を立てる。
細かいコンポーネントやアルゴリズムの実装だけではなく アーキテクチャ的観点での検討も行われる。 10 ソフトウェア設計
© 2022 ESM, Inc. いつやる? 誰がやる? 何をやる? なぜやる? 11 知りたいこと
© 2022 ESM, Inc. 本編 12
© 2022 ESM, Inc. いつやる? 誰がやる? 何をやる? なぜやる? 13
© 2022 ESM, Inc. スクラムの開発サイクル 14 1.スプリントプランニング 2.デイリースクラム 3.リファインメント
4. スプリントレビュー 5. ふりかえり プロダクトバックログ スプリントバックログ 製品 リリース
© 2022 ESM, Inc. ソフト開発のサイクル(WF脳) 15
© 2022 ESM, Inc. 並べてみる 16
© 2022 ESM, Inc. 私たちの開発でやっていること 17 設計はどこへ行った?
© 2022 ESM, Inc. 設計ってなんだっけ? 18 要求分析 ユーザがやりたいことを整理・発見する 要件定義
ユーザがやりたいことを達成するために、システムがやるべきことを決める 仕様検討 システムがやるべきことを、客観的・具体的・定量的に定義する 設計 システムがやるべきことを、どうやって実現するかを決める
© 2022 ESM, Inc. こうあるべきなのか? 19 1.スプリントプランニング 2.デイリースクラム 3.リファインメント
4. スプリントレビュー 5. ふりかえり プロダクトバックログ スプリントバックログ 製品 リリース 要求分析 仕様検討 設計 要件定義
© 2022 ESM, Inc. スクラムの開発サイクル 20 1.スプリントプランニング 2.デイリースクラム 3.リファインメント
4. スプリントレビュー 5. ふりかえり プロダクトバックログ スプリントバックログ 製品 リリース 仕様検討 設計 コーディング 単体テスト 結合テスト 要求分析 要件定義 受入テスト スプリント忙しすぎ
© 2022 ESM, Inc. スプリント短い問題 21 1週間に複数のタスクを消化 設計をやっている時間がない!
1~2日で設計・実装・テスト
© 2022 ESM, Inc. WFの開発プロセス(設計) 22 工程 工程 工程 工程
工程を設計書でつなぐ
© 2022 ESM, Inc. WF時代の設計 23 44%
© 2022 ESM, Inc. Dr.アジャイルに聞いてみた 24 ずれてるで。
© 2022 ESM, Inc. こうじゃなくて 25 1.スプリントプランニング 2.デイリースクラム 3.リファインメント
4. スプリントレビュー 5. ふりかえり プロダクトバックログ スプリントバックログ 製品 リリース 仕様検討 設計 コーディング 単体テスト 結合テスト 要求分析 要件定義 受入テスト
© 2022 ESM, Inc. こうやで 26 1.スプリントプランニング 2.デイリースクラム 3.リファインメント
4. スプリントレビュー 5. ふりかえり プロダクトバックログ スプリントバックログ 製品 リリース 仕様検討 設計 コーディング 単体テスト 結合テスト 要求分析 要件定義 設計 受入テスト ②Done確認はデイリー ③スプリントレビューは 工程ゲートではない ①設計はここで済ませる ①実際にはこの時間を使う
© 2022 ESM, Inc. あえて対応させてみる 27
© 2022 ESM, Inc. リファインメントでやること 28 私たちの例 未来のPBIをReadyにする これが設計
© 2022 ESM, Inc. スプリントプランニングでやること 29 私たちの例 設計はDEVだけではなく POとも一緒に行う
私たちの例
© 2022 ESM, Inc. いつやる? 誰がやる? 何をやる? なぜやる? 30 •
スプリントが始まる前 • リファインメントの時間 • 詳細は実装しながらもアリ • それぞれの設計工程
© 2022 ESM, Inc. いつやる? 誰がやる? 何をやる? なぜやる? 31 •
コードを書く人 • 顧客やPOも一緒にやる • 工程の担当者
© 2022 ESM, Inc. いつやる? 誰がやる? 何をやる? なぜやる? 32
© 2022 ESM, Inc. WFの開発プロセス(設計) 33 工程 工程 工程 工程
工程を設計書でつなぐ
© 2022 ESM, Inc. WF時代の設計書 34 イメージ きっちり作る、しっかり残す ソースコードとの距離は遠い
© 2022 ESM, Inc. 設計書の目的(WF) 35 次工程への インプット エビデンス 工程の
完了ゲート 理解の 可視化 認識の共有 理解 他人のため 自分のため
© 2022 ESM, Inc. Agile開発の設計 36 状態遷移 処理フロー 要求分析 クラス構成
© 2022 ESM, Inc. 最近の設計 37 考えながら手早く書く 自分(自分たち)向けに書く
コーディングと並行して書く システム構成 アーキテクチャ シーケンス
© 2022 ESM, Inc. 設計書の目的(Agile) 38 次工程への インプット エビデンス 工程の
完了ゲート 理解の 可視化 認識の共有 理解 他人のため 自分のため
© 2022 ESM, Inc. モブ レビュー コード中心の世界 39 自分 メンバ
書く 読む 自分 メンバ 共通理解(コンテキスト) メンバが書けるように メンバが読めるように
© 2022 ESM, Inc. 設計の価値観 40 自分たち 他人 しっかり すばやく
次工程へのイ ンプット エビデンス 工程の完了 ゲート 理解の 可視化 認識の共有 理解
© 2022 ESM, Inc. Agileで大事にする設計の価値 41 自分たち 他人 しっかり すばやく
協調 対話 変化 契約 計画 プロセス
© 2022 ESM, Inc. いつやる? 誰がやる? 何をやる? なぜやる? 42 •
共通理解を持つ • 次工程に必要なものを作る
© 2022 ESM, Inc. 43 WF その工程 Agile いつやる 誰がやる
何をやる なぜやる 開発期間中 工程の担当者 全員 次工程に必要なものを作る 共通理解を持つ キーワード 工程・分業・利他 逐次・共同・利己
© 2022 ESM, Inc. もうひとつ 44
© 2022 ESM, Inc. ソフト開発は一品もの 45 IoT 装置 Slack アプリ
• ラズパイ • 各種センサ • 組み込みシステム • クラウド • データベース • Webサービス
© 2022 ESM, Inc. プロダクト毎に設計は異なる 46 IoT装置 Slack アプリ
ドメイン 組み込み Webサービス 動作環境 スタンドアロン マネージドサービス チームの習熟度 低い 高い 作成したダイアグラム ユースケース図 回路図 状態遷移図 処理フロー シーケンス図 システム構成図 アーキテクチャ構造図 シーケンス図 プロダクトに応じた設計の定義が必要
© 2022 ESM, Inc. 設計の抽象化 47 固有の設計スキル 固有の設計スキル メタな設計スキル
© 2022 ESM, Inc. 更に抽象化 48
© 2022 ESM, Inc. まとめ 49
© 2022 ESM, Inc. Agile開発でも設計は必要 WF開発とは目的が異なる 設計を設計するメタスキル 50
© 2022 ESM, Inc. ありがとうございました 51