アジャイル開発の中の設計
by
岡本卓也
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
© 2022 ESM, Inc. Scrum Fest Osaka 2022 アジャイル開発の中の設計 1 2022年06月18日 株式会社永和システムマネジメント Agile Studio 岡本 卓也
Slide 2
Slide 2 text
© 2022 ESM, Inc. 「設計」は好きですか? 2
Slide 3
Slide 3 text
© 2022 ESM, Inc. 今日のゴール 「設計」を好きになってもらいたい 3
Slide 4
Slide 4 text
© 2022 ESM, Inc. まえおき 4
Slide 5
Slide 5 text
© 2022 ESM, Inc. 自己紹介 Agile Studioエンジニア 日々是 Agile/Scrum Agileに憧れて転職 元はWFガチ勢 5
Slide 6
Slide 6 text
© 2022 ESM, Inc. WF時代の仕事(1997~2017) 大企業型ソフト開発 キャリアネットワーク製品開発 エンジニア&マネージャ 6
Slide 7
Slide 7 text
© 2022 ESM, Inc. アングルをつけて眺めてみる 7 WF Agile コアが見えてくる、かも 設計
Slide 8
Slide 8 text
© 2022 ESM, Inc. 想定している対象者 ● WFからAgileに移行(する|している|した) ● Agileネイティブ ● 「設計」と聞くと感情が乱れる人 8
Slide 9
Slide 9 text
© 2022 ESM, Inc. 最近、スプリントレビューで困った事 1. 何を説明すればいいの? 2. どうなってたらOKと言ってもらえる? 3. そういうのっていつ決めるの? 9 もしかして設計?
Slide 10
Slide 10 text
© 2022 ESM, Inc. 設計とは何か ソフトウェアのための問題解決と計画の工程である。 ソフトウェアの目的と仕様が決定した後で ソフトウェア開発者が設計をしたり 専門の設計者が開発計画を立てる。 細かいコンポーネントやアルゴリズムの実装だけではなく アーキテクチャ的観点での検討も行われる。 10 ソフトウェア設計
Slide 11
Slide 11 text
© 2022 ESM, Inc. いつやる? 誰がやる? 何をやる? なぜやる? 11 知りたいこと
Slide 12
Slide 12 text
© 2022 ESM, Inc. 本編 12
Slide 13
Slide 13 text
© 2022 ESM, Inc. いつやる? 誰がやる? 何をやる? なぜやる? 13
Slide 14
Slide 14 text
© 2022 ESM, Inc. スクラムの開発サイクル 14 1.スプリントプランニング 2.デイリースクラム 3.リファインメント 4. スプリントレビュー 5. ふりかえり プロダクトバックログ スプリントバックログ 製品 リリース
Slide 15
Slide 15 text
© 2022 ESM, Inc. ソフト開発のサイクル(WF脳) 15
Slide 16
Slide 16 text
© 2022 ESM, Inc. 並べてみる 16
Slide 17
Slide 17 text
© 2022 ESM, Inc. 私たちの開発でやっていること 17 設計はどこへ行った?
Slide 18
Slide 18 text
© 2022 ESM, Inc. 設計ってなんだっけ? 18 要求分析 ユーザがやりたいことを整理・発見する 要件定義 ユーザがやりたいことを達成するために、システムがやるべきことを決める 仕様検討 システムがやるべきことを、客観的・具体的・定量的に定義する 設計 システムがやるべきことを、どうやって実現するかを決める
Slide 19
Slide 19 text
© 2022 ESM, Inc. こうあるべきなのか? 19 1.スプリントプランニング 2.デイリースクラム 3.リファインメント 4. スプリントレビュー 5. ふりかえり プロダクトバックログ スプリントバックログ 製品 リリース 要求分析 仕様検討 設計 要件定義
Slide 20
Slide 20 text
© 2022 ESM, Inc. スクラムの開発サイクル 20 1.スプリントプランニング 2.デイリースクラム 3.リファインメント 4. スプリントレビュー 5. ふりかえり プロダクトバックログ スプリントバックログ 製品 リリース 仕様検討 設計 コーディング 単体テスト 結合テスト 要求分析 要件定義 受入テスト スプリント忙しすぎ
Slide 21
Slide 21 text
© 2022 ESM, Inc. スプリント短い問題 21 1週間に複数のタスクを消化 設計をやっている時間がない! 1~2日で設計・実装・テスト
Slide 22
Slide 22 text
© 2022 ESM, Inc. WFの開発プロセス(設計) 22 工程 工程 工程 工程 工程を設計書でつなぐ
Slide 23
Slide 23 text
© 2022 ESM, Inc. WF時代の設計 23 44%
Slide 24
Slide 24 text
© 2022 ESM, Inc. Dr.アジャイルに聞いてみた 24 ずれてるで。
Slide 25
Slide 25 text
© 2022 ESM, Inc. こうじゃなくて 25 1.スプリントプランニング 2.デイリースクラム 3.リファインメント 4. スプリントレビュー 5. ふりかえり プロダクトバックログ スプリントバックログ 製品 リリース 仕様検討 設計 コーディング 単体テスト 結合テスト 要求分析 要件定義 受入テスト
Slide 26
Slide 26 text
© 2022 ESM, Inc. こうやで 26 1.スプリントプランニング 2.デイリースクラム 3.リファインメント 4. スプリントレビュー 5. ふりかえり プロダクトバックログ スプリントバックログ 製品 リリース 仕様検討 設計 コーディング 単体テスト 結合テスト 要求分析 要件定義 設計 受入テスト ②Done確認はデイリー ③スプリントレビューは 工程ゲートではない ①設計はここで済ませる ①実際にはこの時間を使う
Slide 27
Slide 27 text
© 2022 ESM, Inc. あえて対応させてみる 27
Slide 28
Slide 28 text
© 2022 ESM, Inc. リファインメントでやること 28 私たちの例 未来のPBIをReadyにする これが設計
Slide 29
Slide 29 text
© 2022 ESM, Inc. スプリントプランニングでやること 29 私たちの例 設計はDEVだけではなく POとも一緒に行う 私たちの例
Slide 30
Slide 30 text
© 2022 ESM, Inc. いつやる? 誰がやる? 何をやる? なぜやる? 30 ● スプリントが始まる前 ● リファインメントの時間 ● 詳細は実装しながらもアリ ● それぞれの設計工程
Slide 31
Slide 31 text
© 2022 ESM, Inc. いつやる? 誰がやる? 何をやる? なぜやる? 31 ● コードを書く人 ● 顧客やPOも一緒にやる ● 工程の担当者
Slide 32
Slide 32 text
© 2022 ESM, Inc. いつやる? 誰がやる? 何をやる? なぜやる? 32
Slide 33
Slide 33 text
© 2022 ESM, Inc. WFの開発プロセス(設計) 33 工程 工程 工程 工程 工程を設計書でつなぐ
Slide 34
Slide 34 text
© 2022 ESM, Inc. WF時代の設計書 34 イメージ きっちり作る、しっかり残す ソースコードとの距離は遠い
Slide 35
Slide 35 text
© 2022 ESM, Inc. 設計書の目的(WF) 35 次工程への インプット エビデンス 工程の 完了ゲート 理解の 可視化 認識の共有 理解 他人のため 自分のため
Slide 36
Slide 36 text
© 2022 ESM, Inc. Agile開発の設計 36 状態遷移 処理フロー 要求分析 クラス構成
Slide 37
Slide 37 text
© 2022 ESM, Inc. 最近の設計 37 考えながら手早く書く 自分(自分たち)向けに書く コーディングと並行して書く システム構成 アーキテクチャ シーケンス
Slide 38
Slide 38 text
© 2022 ESM, Inc. 設計書の目的(Agile) 38 次工程への インプット エビデンス 工程の 完了ゲート 理解の 可視化 認識の共有 理解 他人のため 自分のため
Slide 39
Slide 39 text
© 2022 ESM, Inc. モブ レビュー コード中心の世界 39 自分 メンバ 書く 読む 自分 メンバ 共通理解(コンテキスト) メンバが書けるように メンバが読めるように
Slide 40
Slide 40 text
© 2022 ESM, Inc. 設計の価値観 40 自分たち 他人 しっかり すばやく 次工程へのイ ンプット エビデンス 工程の完了 ゲート 理解の 可視化 認識の共有 理解
Slide 41
Slide 41 text
© 2022 ESM, Inc. Agileで大事にする設計の価値 41 自分たち 他人 しっかり すばやく 協調 対話 変化 契約 計画 プロセス
Slide 42
Slide 42 text
© 2022 ESM, Inc. いつやる? 誰がやる? 何をやる? なぜやる? 42 ● 共通理解を持つ ● 次工程に必要なものを作る
Slide 43
Slide 43 text
© 2022 ESM, Inc. 43 WF その工程 Agile いつやる 誰がやる 何をやる なぜやる 開発期間中 工程の担当者 全員 次工程に必要なものを作る 共通理解を持つ キーワード 工程・分業・利他 逐次・共同・利己
Slide 44
Slide 44 text
© 2022 ESM, Inc. もうひとつ 44
Slide 45
Slide 45 text
© 2022 ESM, Inc. ソフト開発は一品もの 45 IoT 装置 Slack アプリ ● ラズパイ ● 各種センサ ● 組み込みシステム ● クラウド ● データベース ● Webサービス
Slide 46
Slide 46 text
© 2022 ESM, Inc. プロダクト毎に設計は異なる 46 IoT装置 Slack アプリ ドメイン 組み込み Webサービス 動作環境 スタンドアロン マネージドサービス チームの習熟度 低い 高い 作成したダイアグラム ユースケース図 回路図 状態遷移図 処理フロー シーケンス図 システム構成図 アーキテクチャ構造図 シーケンス図 プロダクトに応じた設計の定義が必要
Slide 47
Slide 47 text
© 2022 ESM, Inc. 設計の抽象化 47 固有の設計スキル 固有の設計スキル メタな設計スキル
Slide 48
Slide 48 text
© 2022 ESM, Inc. 更に抽象化 48
Slide 49
Slide 49 text
© 2022 ESM, Inc. まとめ 49
Slide 50
Slide 50 text
© 2022 ESM, Inc. Agile開発でも設計は必要 WF開発とは目的が異なる 設計を設計するメタスキル 50
Slide 51
Slide 51 text
© 2022 ESM, Inc. ありがとうございました 51