10
eXtreme Programming @matarillo 猪猪猪猪猪

Extreme Programming

Embed Size (px)

Citation preview

Page 1: Extreme Programming

eXtreme Programming

@matarillo

猪股健太郎

Page 2: Extreme Programming

XPはソーシャルチェンジである

Page 3: Extreme Programming

XPとは何か

XPは、効果のない技術的/社会的な古い習慣を捨て、

効果のある新しい習慣を選ぶことである。

XPとは、自分が今日やるべきことを

十分に理解することである。

XPとは、明日をよりよくしようとすることである。

XPとは、チームのゴールに貢献した

自分を評価することである。

XPとは、ソフトウェア開発で

人間としての欲求を満たすことである。上記の理念をチーム全員が極限まで追求する

ボトムアップ的な改善活動

p.6より

Page 4: Extreme Programming

チームとは誰か

テスター

インタラクション

デザイナー

アーキテクト

プロジェクトマネージャー

プロダクトマネージャー

経営幹部

テクニカルライター

ユーザー

プログラマー

人事

XPのチームはプログラマーだけではない相互に尊敬し合いながら、全員が最善を尽くす

成熟したチームを目指す

p.69~より

Page 5: Extreme Programming

価値、原則、プラクティス

価値

原則 原則プラクティス

プラクティス

プラクティス

重要

臨機応変に

抽象的

具体的

p.13より

価値の共有と実現が最も重要効果のあるプラクティスを実践し、増やし、変えていく

Page 6: Extreme Programming

2種類のプラクティス主要プラクティス( 13個)

◦ ペアプログラミング、テストファーストプログラミング、

インクリメンタルな設計、継続的インテグレーション…

◦ チームの一体感、見える化、  残業ゼロ…

導出プラクティス( 11個)

◦ 本物の顧客参加、チームの継続、チームの縮小、

コードの共有、毎日リリース、スコープの交渉…

主要プラクティスをまず実践して、チームの成熟度を高めてから

導出プラクティスへと向かっていく

p.35~より

p.59~より

(デイリーデプロイ) (交渉によるスコープ契約)

(チーム全体) (情報満載のワークスペース)(いきいきとした仕事)

Page 7: Extreme Programming

XPはスケールするか? 人数:小さなチームで始める。自律的なチームに育てば、調整コストを制

限しつつチームを増やしてもよい。

会計:財務面の協力者を見つける。

組織文化:プロジェクトマネージャーが間に立つ。組織が受け入れられる

形の落としどころを探す。

長期:可能ならチームを維持する。難しい場合は引継ぎを工夫する。

業務の専門性:専門家をチームに加えて互いに学び合う。

コード規模:リリースを続けながら部分的に少しずつ改善していく。

安全性とセキュリティ:審査官と継続的な関係を築き、早めにこまめに審

査を受ける。XPにはトレーサビリティがある。

まず問題をシンプルにする。できない場合は XPを拡張する。価値や原則はスケールする。プラクティスは修正する。

p.107~より

Page 8: Extreme Programming

まとめ XPとは、理念をチーム全員が極限まで追求するボトム

アップ的な改善活動

まず自分たちから始めて、チームの成熟度を高めなが

ら周囲を巻き込んでスケールしていく

プログラマーの幸せに着目している

他のアジャイルソフトウェア開発やエンタープライズ

アジャイルと矛盾するものではない

ただし、効果を出しながらうまく回すには

自分たち自身で考えることが重要

◦ 「アジャイルやってるふり」を許さない厳しさがある

Page 9: Extreme Programming

参考: XPの価値と原則

コミュニケーショ

シンプリシティ

フィードバック

勇気

リスペクト

人間性

経済性

相互利益

自己相似性

改善

多様性

ふりかえり

流れ

機会

冗長性

失敗

品質

ベイビー

ステップ

責任の

引き受け

価値 原則

Page 10: Extreme Programming

参考:翻訳者による解説「 XPは何を伝えたかったんだと

思う?」

http://www.slideshare.net/

kdmsnr/xpjunkudo-20150626