- Yoshiba Ryutaro
- 2019/01/06 19:52
- Technology
- 17041
- 2265
- Show Slide Vertically
- Show Embedded Code
Tidy First? ―個人で実践する経験主義的ソフトウェア設計
- 著者/訳者:Kent Beck、 吉羽 龍太郎、 永瀬 美穂、 細澤 あゆみ
- 出版社:オライリー・ジャパン
- 発売日:2024-12-25
- 単行本(ソフトカバー):164ページ
- ISBN-13:9784814400911
- ASIN:4814400918
脳に収まるコードの書き方 ―複雑さを避け持続可能にするための経験則とテクニック
- 著者/訳者:Mark Seemann、 吉羽 龍太郎、 原田 騎郎、 Robert C. Martin
- 出版社:オライリー・ジャパン
- 発売日:2024-06-18
- 単行本(ソフトカバー):312ページ
- ISBN-13:9784814400799
- ASIN:4814400799
Transcript
1.
Extreme Programming (XP) 概要 2019/4/26 改定 Ryutaro YOSHIBA, Attractor Inc. Scrum Alliance Certified Scrum Team Coach.
2.
XPとは ✤ ソフトウェア開発の制約に対応する軽量な方法論かつ思想 ✤ XPは、ビジネス側と開発側の両者が共通な達成可能なゴールに集中するための、 ビジネス及びソ フトウェア開発の規律 ✤ 価値・原則・プラクティスから構成される ✤ Kent Beckが中心となってまとめていた ✤ 初版:Extreme Programming Explained: Embrace ChangeOct 5, 1999 ✤ 第2版: Extreme Programming Explained: Embrace Change, 2nd Edition (The XP Series)Nov 26, 2004 by Kent Beck and Cynthia Andres ✤ 数度の改訂を経て現在に至る ✤ プラクティス数12 => 24 => 19と変化
3.
XPの構成 ✤ 以下のことが含まれる ✤ 5つの価値 ✤ ✤ コミュニケーション / シンプリシティ / フィードバック / 勇気 / リスペクト 14の原則 ✤ 人間性/経済性/相互利益/自己相似性/改善/多様性/ふりかえり/流れ/機 会 / 冗長性 / 失敗 / 品質 / ベイビーステップ / 責任の引き受け ✤ 開発の改善に効果があることが実証された19のプラクティス ✤ 全部はやっていないのでXPではない、とはならない。考え方のベースライ ンとして捉 える
4.
価値・原則・プラクティスの関係 ✤ 価値:自分たちにとって何が重要か、評価の軸になるもの。なぜそのプラクティス を 行うのかの目的となるもの ✤ プラクティス:価値を具体化したもの。状況によって個々のプラクティスの価値が 高 かったりそうでなかったりする。価値の説明責任を果たす ✤ 原則:抽象的な価値と具体的なプラクティスを橋渡しするもので、活動の指針
5.
XPのプラクティスの変化 初版(1999) 【12】 2nd Edition(2004) 【24】 現在? 【19】 主要プラクティス (13) 導出プラクティス (11) 共同のプラクティス (4) 管理者のプラクティス (5) 計画ゲーム 全員同席 本物の顧客参加 イテレーション 責任の受け入れ 短期リリース チーム全体 インクリメンタルなデプロイ 共通の用語 援護 メタファ(比喩) 情報満載のワークスペース チームの継続 オープンなワークスペース 四半期ごとの見直し シンプルな設計 いきいきとした仕事 チームの縮小 ふりかえり ミラー テスト ペアプログラミング 根本原因分析 リファクタリング ストーリー コードの共有 開発のプラクティス (6) ペアプログラミング 週次サイクル コードとテスト テスト駆動開発 顧客のプラクティス (4) 共同所有 四半期サイクル 単一のコードベース ペアプログラミング ストーリー 継続した統合 ゆとり デイリーデプロイ リファクタリング リリース計画 40時間労働 10分ビルド 交渉によるスコープ契約 ソースコードの共同所有 受け入れテスト オンサイトのユーザ(顧客) 継続的インテグレーション 利用都度課金 継続的インテグレーション 短期リリース コーディング規約 テストファーストプログラミング インクリメンタルな設計 最適なペース YAGNI
6.
共同のプラクティス (4プラクティス) ✤ 反復 ✤ ✤ 共通の用語 ✤ ✤ チーム全員が使う用語や概念を一致させる。初版の「メタファー」 オープンな作業空間 ✤ ✤ イテレーションという短い期間に区切って繰り返す。開発もコーディングとテストを繰り返す 作業に集中でき、顧客を含めて全員が一箇所に集まって作業を進める環境を用意する。初 版の「オンサイトのユーザー」 頻繁なふりかえり ✤ 現状を把握し、過去のフィードバックを反映していく
7.
開発のプラクティス (6プラクティス) ✤ テスト駆動開発 ✤ ✤ ペアプログラミング ✤ ✤ テストを先に記述し、そのテストにパスする少量のコードを書くことを繰り返しなが ら開発する。シンプルでわかりやすい設計が可能となる。テストは自動化が推奨 ドライバーとナビゲーターの2人がペアになってコードを書く。問題解決の時間が 短くなる、常時コードレビューが行われることで品質があがる等の利点 リファクタリング ✤ 完成したコードでも随時改善を行う。自動化されたテストがあることが前提となる
8.
開発のプラクティス (6プラクティス) ✤ ソースコードの共同所有 ✤ ✤ 継続的インテグレーション ✤ ✤ 誰が作ったソースコードでも開発チーム全員が断りなく修正を行うことができる。また、全 ての コードに対する責任を全員が担う。これを実現するために全員が同一のコーディング 規約を使 うと良い 単体テストを通るコードができるたびに残りの部分と結合して、問題点がないかを探す。 最低で も1日に1回は行う。継続的インテグレーション用のサーバやサービスを利用する のが一般的 YAGNI ✤ You Aren't Going to Need It(それは必要にならない)。先のことを考慮して機能を増 やしたり 設計を複雑にするのは避けて、本当に必要になったときに対処を行う。またムダ な機能や使って いない機能やコードを削ぎ落とす
9.
管理者のプラクティス (5プラクティス) ✤ 責任の受け入れ ✤ ✤ 援護 ✤ ✤ 押し付けではなく、開発チームがストーリーの実現を約束できるようにする チームの活動が円滑に進むように支援し、妨害となるものを取り除く。外圧やス テークホルダーとの関係など 四半期ごとの見直し ✤ プロジェクトの進捗状況を顧客とともに四半期ごとにレビューし、必要なら今後 の計画を見直す
10.
管理者のプラクティス (5プラクティス) ✤ ミラー ✤ ✤ いまどういう状態かチームが分かるようにする。ストーリーカードや重要な資料 を壁にはって見える化するなど 最適なペースの仕事 ✤ 集中力を高め、効果を最大化し、持続可能であるために週40時間の労働時間に する
11.
顧客のプラクティス (4プラクティス) ✤ ストーリーの作成 ✤ ✤ リリース計画 ✤ ✤ どのストーリーをどのイテレーションで実施するかをチームが主体となって決定する 受け入れテスト ✤ ✤ 求める機能の要件を短い文章で記載するストーリーカードを作成する。そのカードを元に 会話をする イテレーションごとに顧客の立場から、ストーリーが実現できているかを確認する 短期リリース ✤ 動くソフトウェアを、2-3週間から2-3ヶ月というできるだけ短い時間間隔でリリースする
12.
共同のプラクティス 開発のプラクティス 管理者のプラクティス 顧客のプラクティス XP Scrum 反復 スプリント 共通の用語 (XPを活用) 開けた作業空間 (XPを活用) 頻繁なふりかえり スプリントレトロスペクティブ テスト駆動開発 (XPを活用) ペアプログラミング (XPを活用) リファクタリング (XPを活用) ソースコードの共同所有 (XPを活用) 継続的インテグレーション (XPを活用) YAGNI (XPを活用) 責任の受け入れ コミットメント 援護 スクラムマスター 四半期ごとの見直し スプリントレビュー ミラー デイリースクラム、スクラムボード 最適なペースの仕事 (XPを活用) ストーリーの作成 プロダクトバックログ リリース計画 スプリントプランニング 受け入れテスト 受け入れ基準 短期リリース リリース判断可能なインクリメント
Comment
No comments...
Related Slides
2024/7/18開催のClassmethod Odysseyでの登壇資料です
2024/07/18 | 45 pages | 6983 views
2024/6/28に開発生産性カンファレンスで登壇した際の資料です
2024/06/28 | 46 pages | 11383 views
2024/6/3に行われた「吉羽 龍太郎さんとソニーが語るプロダクトマネジメント - TechLovers #2」での講演スライドです
2024/06/04 | 31 pages | 8683 views
2023年10月17日に行われたプロダクトマネージャーのしごと - Forkwell Library #33 での登壇資料です
2023/10/18 | 32 pages | 16348 views
エンジニア文化祭 2023での登壇資料です
2023/03/03 | 57 pages | 12443 views
2022年12月9日に行われたDevelopers Career Boostの基調講演スライドです #devキャリ
2022/12/09 | 45 pages | 22397 views
エンジニアリングマネージャーのしごと - Forkwell Library #5 の講演資料です
2022/09/07 | 36 pages | 18323 views
2022年6月2日に行われた「#Obsidian 使っているんでちょっと話します」のイベントの登壇スライドです
2022/06/02 | 14 pages | 14784 views
技術顧問先の社内イベントで登壇した際の資料です。ネタ多め
2022/01/27 | 39 pages | 30310 views
2021/6/26に開催されたScrum Festのアジャイル札幌LTの資料です
2021/06/26 | 18 pages | 9669 views
2020/12/22に行われたProductZine(翔泳社)のウェビナーの資料です。
2020/10に発売された『プロダクトマネジメント ―ビルドトラ...
2021/03/31 | 51 pages | 18050 views
コーチングの一環で20分ほどセッションをしたときの資料です
2020/10/15 | 39 pages | 21119 views
Embedded Code