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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
岡本卓也
June 22, 2022
Technology
1.3k
0
Share
アジャイル開発の中の設計
岡本卓也
June 22, 2022
More Decks by 岡本卓也
See All by 岡本卓也
遅いのはコードではなく会話だった / new-bottleneck-conversation
okamototakuyasr2
0
44
AIコーディング x 音声入力 / work-with-AI-via-voice
okamototakuyasr2
0
15
AI駆動開発の コードレビュー地獄を なんとかしたい / code-review-with-ai
okamototakuyasr2
0
170
ソフトウェアエンジニアの学習方法/meta learning for engineers
okamototakuyasr2
0
200
気がついたらAIをガッツリ使っていた話 / getting-close-to-generate-ai
okamototakuyasr2
0
140
普通のチームがスクラムを会得するたった一つの冴えたやり方 / the best way to scrum
okamototakuyasr2
0
210
Ghost Writer(代筆さん) / ghost-writer-for-newbiz-hackathon
okamototakuyasr2
0
17
AI活用時代のUML再評価/UML collaborate with AI
okamototakuyasr2
0
630
私が好きなUMLダイアグラム / The UML Diagrams I Love.
okamototakuyasr2
0
110
Other Decks in Technology
See All in Technology
要件定義の精度を高めるための型と生成AIの活用 / Using Types and Generative AI to Improve the Accuracy of Requirements Definition
haru860
0
320
Building Production-Ready Agents Microsoft Agent Framework
_mertmetin
0
170
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8k
フロントエンドの相手が変わった - AIが加わったWebの新しいインターフェース設計
azukiazusa1
33
11k
Every Conversation Counts
kawaguti
PRO
0
210
多角的な視点から見たAGI
terisuke
0
130
AIエージェントの支払い基盤 AgentCore Payments概要
kmiya84377
2
170
マンション備え付けのネットワークとLTE回線を組み合わせた ネットワークの安定化の考案
harutiro
1
120
「強制アップデート」か「チームの自律」か?エンタープライズが辿り着いたプラットフォームのハイブリッド運用/cloudnative-kaigi-hybrid-platform-operations
mhrtech
0
180
【技術書典20】OpenFOAM(自宅で深める流体解析)流れと熱移動(2)
kamakiri1225
0
390
全社統制を維持しながら現場負担をどう減らすか〜プラットフォームチームとセキュリティチームで進めたSecurity Hub活用によるAWS統制の見直し〜/secjaws-security-hub-custom-insights
mhrtech
1
380
サンプリングは「作る」のか「使う」のか? 分散トレースのコストと運用を両立する実践的戦略 / Why you need the tail sampling and why you don't want it
ymotongpoo
4
170
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Heart Work Chapter 1 - Part 1
lfama
PRO
6
35k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
Optimizing for Happiness
mojombo
378
71k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.2k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Exploring anti-patterns in Rails
aemeredith
3
350
KATA
mclloyd
PRO
35
15k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
180
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Chasing Engaging Ingredients in Design
codingconduct
0
190
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