結論■XPは、顧客参加型のソフトウェア開発技法の先駆け的存在であった
■当初XPが実現しようとしたことは失敗した□ 相対的に、エンジニア側による熱狂的な支持を得る一方、ビジネス側による強い支持を得られなかった
□ ひずみが生じ、他のアプローチの対比からエンジニアプラクティスのみが注目される手法となってしまった。
2
XPの代表的なキーワードおさらい(注意:一般的な定義とちっとばかし異なる)
4
ユーザーストーリー■顧客が、[だれ]が[なぜ]それを必要としているかを熱い想いを語り、開発者が知恵を絞って、想いに応えるシンプルな解決案を提示し、喧々諤々と議論しながら、 [なに]をつくるのかを 明瞭にしていく運動□ 気分的には、ペアプロしながらリファクタリングしてシンプルなコードになっていく時に感じる、あの感覚が得られるはず
6
ユーザーストーリー■ユーザーストーリーは1つづつ実現され、動くソフトウェアは Step by Stepで育っていく
■顧客のソフトウェアに対する理解, 開発者のコード=対象ドメインに対する理解もStep by Stepで育っていく□ TDDのStep by Step に感じるあの感覚に近い感覚を得られるはず
7
オブジェクト指向/パターン言語
8
“ユーザー・インタフェース設計におけるパターン言語の使用が最初に成功したときは、コンピュータ・ユーザーたちが自分自身のアプリケーションを自らが設計し、プログラミングするという可能性があるのだということに、我々は大変熱狂した。
■ユーザー参加型の設計/プログラミング技法
ー オブジェクト指向プログラムのためのパターン言語の使用
受け入れテスト
FitをHintに
9
Fit: Framework for Integrated Test
■顧客とテスターとプログラマーのコラボレーションをファシリテートするフレームワーク.自動テストも可能
10
“Great software requires collaboration and communication.
http://fit.c2.com/
Fit: Framework for Integrated Testテストを通じて摺り合わせ(Integrate)しようとしているのは、 顧客とテスターとプログラマーのメンタルモデルだ。単にソフトウェア部品の結合だけではない。
11
オンサイト顧客■フィードバックサイクルをより極端に□ 開発者がTDDのとてつもなく短いサイクルのを体感したときの衝撃に似たことを 顧客は体感するはず
12
TDD リファクタリング顧客の対象についてコードを通じて真剣に向き合いながら、ドメインの本質に近づいていく運動
13
TDDをDDDから再解釈
頻繁なリリース■本当にほしいものと実際に動くソフトウェアとの差異を判断するのにユーザーの肌感覚を使う□ プログラマーがTDDしながらコードに直に触れて、善し悪しを診断-修復していくように
□ 目玉の数を増やそう
14
15
関係の質
思考・会話の質 行動の質
結果の質
+
+
+
+
ダニエル・キム Organizing for Leaning 一部改変
15
関係の質
思考・会話の質 行動の質
結果の質
+
+
+
+
ダニエル・キム Organizing for Leaning 一部改変
15
関係の質
思考・会話の質 行動の質
結果の質
+
+
+
+
ダニエル・キム Organizing for Leaning 一部改変
15
関係の質
思考・会話の質 行動の質
結果の質
+
+
+
+
ダニエル・キム Organizing for Leaning 一部改変
15
関係の質
思考・会話の質 行動の質
結果の質
+
+
+
+
ダニエル・キム Organizing for Leaning 一部改変
16
関係の質
思考・会話の質 エクストリームなプログラミング行動の質
+
+
+
+
ストーリー(憧憬)の質
16
関係の質
思考・会話の質 エクストリームなプログラミング行動の質
+
+
+
+
ストーリー(憧憬)の質
17
関係の質
思考・会話の質
+
+
+
エクストリームなプログラミング行動の質
+
具体例の質
17
関係の質
思考・会話の質
+
+
+
エクストリームなプログラミング行動の質
+
具体例の質
18
関係の質
思考・会話の質
+
+
+
エクストリームなプログラミング行動の質
+
コードの質
18
関係の質
思考・会話の質
+
+
+
エクストリームなプログラミング行動の質
+
コードの質
19
関係の質
思考・会話の質
+
+
+
エクストリームなプログラミング行動の質
+動くソフトウェアの質
19
関係の質
思考・会話の質
+
+
+
エクストリームなプログラミング行動の質
+動くソフトウェアの質
20
関係の質
思考・会話の質
+
+
+
エクストリームなプログラミング行動の質
+ソフトウェアをつくる人々の営みの質
20
関係の質
思考・会話の質
+
+
+
エクストリームなプログラミング行動の質
+ソフトウェアをつくる人々の営みの質
21
関係の質
思考・会話の質
+
+
+
エクストリームなプログラミング行動の質
+
使う人々の営みの質
21
関係の質
思考・会話の質
+
+
+
エクストリームなプログラミング行動の質
+
使う人々の営みの質
人々は良い仕事をしたいはず✓役立つ/楽しいソフトウェアを育みたいはず
✓クリーンなコードを育みたいはず
✓ソフトウェアをつくり-使う人々の営みをよりGoodに育みたいはず
22
XPがやりたかったことは失敗した
24
XP冬の時代は、続くだろう。この先再びXPが人々を強く惹き付け、活発に動き出す事はないだろう
25
失敗したが悲観することはない
26
XP以降の世界DDD, Specification By Example, BDD,ファシリテーション などは、ビジネス側と開発側をX:クロスしようとする意志と行動をXPと同等の思いが伝わってくる。
27
while true XP =XP.next_time
□継続的に良い方向に、グリーンになるように動作させ続けることが重要
28
XPの消失と再生の物語はまだ始まったばかりだ
29
私は、これからもXP がいったい何を実現しようとしていたのかを探求をし続けるつもりです。
30
私が今注目しているテーマは、ユーザーストーリーの対話-受け入れテストの対話 - ペアプロとTDDの対話 - デモとフィードバックの対話の流れ。この人々の営みが、一体を何をつくり出そうとしているのか探求すること
31
今日はみなさんのXPに対する想い、過去の経験談を聴かせてもらえると幸いです。
32
本日は、よろしくお願いします。
33