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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
ham
September 17, 2024
Technology
220
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
アジャイルを始めるための基礎を固める
アジャイルを始めるための基礎を固める方法をスライドにまとめたもの
ham
September 17, 2024
More Decks by ham
See All by ham
プロダクト開発から業務改善コンサルまで。事業全体へ「染み出す」ことで広がるエンジニアの可能性
ham0215
0
140
AI時代に「チーム開発」を見直す ~個人アサインへのシフトと、AI駆動開発の実践例~
ham0215
0
37
機能開発を止めないために!運用と開発のバランスを可視化するために使っている指標をご紹介
ham0215
0
55
未来のAI駆動開発をイメージしながらAI開発基盤を整備する
ham0215
1
56
AIと過ごす1日〜全業務フローにAIを組み込む実践ガイド〜
ham0215
0
140
生成AIによる生産性向上〜テック企業やファインディの活用事例〜
ham0215
1
130
生成AI導入の効果を最大化する データ活用戦略
ham0215
0
560
データ駆動経営の道しるべ:プロダクト開発指標の戦略的活用法
ham0215
2
520
開発組織における意思決定の実例〜開発優先度・組織構成・ツール導入〜
ham0215
0
120
Other Decks in Technology
See All in Technology
【NRUG vol.18】KubernetesにおけるNew Relicデータ取得量削減の考え方
nrug_member
0
160
FinOps × AIエージェントで実現する コストインシデントの自動調査
oasis1994liveforever
0
150
Kubernetesにおける学習基盤とLLMOpsの概要
ry
1
320
Kiro Ambassador を目指す話
k_adachi_01
0
100
SONiCのLinuxベースを活かしたZabbix監視
sonic
0
200
失敗を資産に変えるClaude Code
shinyasaita
0
700
AIソロプレナー時代に2ヶ月で20人増員した事業創造会社の開発組織の話
miyatakoji
0
690
SONiCで構築・運用する生成AI向けパブリッククラウドネットワーク ~実装編~
sonic
0
260
AIはどのように 組織のアジリティを変えるのか?
junki
4
1k
iAEONの段階的リアーキテクト戦略 / iAEON's_Gradual_Re-architecture_Strategy
aeonpeople
0
220
ザ・データベース、MySQL ~ OSC 2026 Sendai ~
sakaik
0
110
Agent Skills設計で柔軟性と硬さのバランスが難しい話
nassy20
0
140
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
340
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Between Models and Reality
mayunak
4
340
Google's AI Overviews - The New Search
badams
0
1k
Are puppies a ranking factor?
jonoalderson
1
3.6k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
230
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Transcript
© Findy Inc. 2024.09.17 1 アジャイルを始めるための 基礎を固める 浜⽥ 直⼈ Naoto
Hamada (ham)
© Findy Inc. 2 開発⽣産性が向上する⽅法を探求しているエンジニア! Ruby / Rails / React
/ TypeScript / AWS Agile / DevOps / Developer Productivity / DevEx Stock Investment 浜⽥ 直⼈ Naoto Hamada (ham) @hamchance0215
© Findy Inc. 3 Agenda - アジャイルソフトウェア開発宣⾔は⼼構え - アジャイルを始める基礎を作る
© Findy Inc. アジャイルソフトウェア開発宣⾔は ⼼構え 4
© Findy Inc. 5
© Findy Inc. 6 https://www.ipa.go.jp/jinzai/skill-standard/plus-it-ui/itssplus/ps6vr70000001i7c-att/000065601.pdf
© Findy Inc. 7 https://www.ipa.go.jp/jinzai/skill-standard/plus-it-ui/itssplus/ps6vr70000001i7c-att/000065601.pdf ⼼構えはわかった!! やっていき!!!
© Findy Inc. 8 https://www.ipa.go.jp/jinzai/skill-standard/plus-it-ui/itssplus/ps6vr70000001i7c-att/000065601.pdf ⼼構えはわかった!! で、どうすればいいの??
© Findy Inc. 9 https://www.ipa.go.jp/jinzai/skill-standard/plus-it-ui/itssplus/ps6vr70000001i7c-att/000065601.pdf
© Findy Inc. 10 https://www.ipa.go.jp/jinzai/skill-standard/plus-it-ui/itssplus/ps6vr70000001i7c-att/000065601.pdf マインドセットを変えるだけでは 実践できないものがあるな...
© Findy Inc. 11 https://www.ipa.go.jp/jinzai/skill-standard/plus-it-ui/itssplus/ps6vr70000001i7c-att/000065601.pdf 実践するには 基礎を作る必要がある!
© Findy Inc. アジャイルを始める基礎を作る 12
© Findy Inc. 13 いつでも本番反映できる仕組みを作る main feature 細かく本番反映していく 仕組みが必要
© Findy Inc. 14 ⻑く残るブランチとは? - featureブランチで開発を⾏い、すべて開発‧検証した後に マージ main feature
新規機能‧既存機能 すべて検証後にマージ feature N
© Findy Inc. 15 細かくマージするための考え⽅ - 🙅検証して承認されたコードしかmainにマージしない - 🙆既存に影響を与えないコードはガンガンmainにマージ ◦
(体感ですが)追加‧変更したコードの9割は既存に影響を 与えない形でマージできる ◦ 1つ1つの影響範囲が広い場合、結合度を⾒直すと良い main feature
© Findy Inc. 16 細かくマージするための考え⽅ - 🙅検証して承認されたコードしかmainにマージしない - 🙆既存に影響を与えないコードはガンガンmainにマージ ◦
(体感ですが)追加‧変更したコードの9割は既存に影響を 与えない形でマージできる ◦ 1つ1つの影響範囲が広い場合、結合度を⾒直すと良い main feature 既存に影響を与えないことを 検証するのが⼤変じゃん
© Findy Inc. 17 「既存に影響を与えない」を保証する - ⾃動テストをCIで実⾏して、既存の振る舞いを保証する - 必要に応じてmainマージ前に⼿動テストをする ◦
⾃動テストで広範囲を担保して、どれだけ⼿動テストを 減らせるかがキモとなる!! ◦ リネームやtypoの修正、リファクタリングは⾃動テスト さえ通れば確認OKと⾒なせる
© Findy Inc. 18 「既存に影響を与えない」を保証する - ⾃動テストをCIで実⾏して、既存の振る舞いを保証する - 必要に応じてmainマージ前に⼿動テストをする ◦
⾃動テストで広範囲を担保して、どれだけ⼿動テストを 減らせるかがキモとなる!! ◦ リネームやtypoの修正、リファクタリングは⾃動テスト さえ通れば確認OKと⾒なせる 例えば以下のようなPRはCI通ればヨシッ! →mainへマージ PR1: 関数名を変更 PR2: Fix typo PR3: 新しいモジュールを追加(未使⽤) PR4: ライブラリアップデート(ものによるが)
© Findy Inc. 19 「既存に影響を与えない」を保証する - ⾃動テストをCIで実⾏して、既存の振る舞いを保証する - 必要に応じてmainマージ前に⼿動テストをする ◦
⾃動テストで広範囲を担保して、どれだけ⼿動テストを 減らせるかがキモとなる!! ◦ リネームやtypoの修正、リファクタリングは⾃動テスト さえ通れば確認OKと⾒なせる 例えば以下のようなPRはCI通ればヨシッ! →mainへマージ PR1: 関数名を変更 PR2: Fix typo PR3: 新しいモジュールを追加(未使⽤) PR4: ライブラリアップデート(ものによるが) PRに1つの観点しか⼊っていなければ ⼿動テストの有無も⼀⽬瞭然! →1つのPRに複数の観点を⼊れないこと も⼤事
© Findy Inc. 20 ⾃動テスト書く時間が もったいなくないですか?
© Findy Inc. 21 テスト⾃動化の損益分岐点は「4回」 - 4回以上変更するなら⾃動テストを書いた⽅がお得!! 質とスピード (@t_wada) https://speakerdeck.com/twada/quality-and-speed-aws-dev-day-2023-tokyo-edition
© Findy Inc. 22 ⾃動テスト書くのは ハードル⾼いのですが...
© Findy Inc. 23 ⾃動テストは書けるようになりましょう! - ⼀度⾃動テストがある環境に⾜を踏み⼊れると、⾃動テス トがない世界には戻れなくなります! - ⾃動テストのある開発環境は開発者体験が良い!!
© Findy Inc. 24 ⾃動テストで100% 品質担保できるんですか?
© Findy Inc. 25 Four Keys - DORAが調査した開発組織のパフォーマンス指標 2023 State
of DevOps Report https://cloud.google.com/devops/state-of-devops https://book.impress.co.jp/books/1118101029
© Findy Inc. 26 Four Keys - Eliteでも変更障害率は5% 2023 State
of DevOps Report https://cloud.google.com/devops/state-of-devops https://book.impress.co.jp/books/1118101029
© Findy Inc. 27 Four Keys - 障害が起きても1時間以内に復旧 2023 State
of DevOps Report https://cloud.google.com/devops/state-of-devops https://book.impress.co.jp/books/1118101029
© Findy Inc. 28 本番障害は起きるものと認識する - 本番障害が⼀定の割合で発⽣することは許容する ◦ ※プロダクトの性質によって許容する範囲は変える -
⼀⽅で障害が発⽣してもすぐに復旧できるように監視やリ カバリ⼿順を確⽴しておく - Tips: エラーバジェット ◦ 可⽤性: 99.9% → 43分/⽉ までは障害を許容 ◦ 許容範囲を超えるまでは積極的に開発を進める ◦ 許容範囲を超えたら信頼性の回復に注⼒する
© Findy Inc. 29 守りたいものを定義して守る - 本番障害に備えるため、守りたいものを定義して守る ◦ プロダクトの振る舞い ▪
⾃動テスト / E2Eテスト / リリース前の⼿動テスト ◦ レスポンスタイム / ステータスコード ▪ ログ監視 ◦ 復旧⼿順を整備 ▪ ⾃動化‧簡易化‧ドキュメント化 ◦ 障害後のふりかえり ▪ 再発防⽌
© Findy Inc. 30 いつでも本番反映できる仕組みができた! あとはアジャイルを実践するのみ! アジャイルには様々な⼿法があります ⾃分に合った⼿法を⾒つけましょう!