XP 再解釈



         1
結論
■ XPは、顧客参加型のソフトウェア開発技
法の先駆け的存在であった
■ 当初XPが実現しようとしたことは失敗し
た
□   相対的に、エンジニア側による熱狂的な支持
    を得る一方、ビジネス側による強い支持を得
    られなかった
□   ひずみが生じ、他のアプローチの対比からエ
    ンジニアプラクティスのみが注目される手法
    となってしまった。
                       2
XPの代表的なキーワー
ドおさらい
(注意:一般的な定義とちっとばかし異なる)




                        4
5
ユーザーストーリー
■ 顧客が、[だれ]が[なぜ]それを必要

としているかを熱い想いを語り、開
発者が知恵を絞って、想いに応える
シンプルな解決案を提示し、喧々
諤々と議論しながら、 [なに]をつ
くるのかを 明瞭にしていく運動
□   気分的には、ペアプロしながらリファクタリングしてシ
    ンプルなコードになっていく時に感じる、あの感覚が得
    られるはず
                                6
ユーザーストーリー
■ ユーザーストーリーは1つづつ実現さ
れ、動くソフトウェアは Step by
Stepで育っていく
■ 顧客のソフトウェアに対する理解,  開
発者のコード=対象ドメインに対する
理解もStep by Stepで育っていく
□   TDDのStep by Step に感じるあの感覚に近い感
    覚を得られるはず


                                7
オブジェクト指向/パターン言語
“ユーザー・インタフェース設計におけるパターン言語の使用が
最初に成功したときは、コンピュータ・ユーザーたちが自分自
身のアプリケーションを自らが設計し、プログラミングすると
いう可能性があるのだということに、我々は大変熱狂した。

             ー オブジェクト指向プログラムのためのパターン言語の使用




■   ユーザー参加型の設計/プログラミング技法


                                            8
受け入れテスト

Fitを
Hintに
          9
Fit:   Framework for Integrated Test

“Great software requires collaboration and
communication.
                                     http://fit.c2.com/




■顧客とテスターとプログラマー

 のコラボレーションをファシリ
 テートするフレームワーク.自動
 テストも可能
                                                         10
Fit:   Framework for Integrated Test

 テストを通じて り合わせ
 (Integrate)しようとして
 いるのは、 顧客とテスターと
 プログラマーのメンタルモデ
 ルだ。単にソフトウェア部品
 の結合だけではない。
                                   11
オンサイト顧客
■フィードバックサイク
ルをより極端に
□   開発者がTDDのとてつもなく短いサイクルの
    を体感したときの衝撃に似たことを 顧客は
    体感するはず




                        12
TDD リファクタリング
顧客の対象について
コードを通じて真剣に
向き合いながら、ドメ
インの本質に近づいて
いく運動     TDDをDDDから再解釈
                    13
頻繁なリリース
■本当にほしいものと実際に動く

 ソフトウェアとの差異を判断す
 るのにユーザーの肌感覚を使う
□   プログラマーがTDDしながらコードに直に触れ
    て、善し悪しを診断-修復していくように
□   目玉の数を増やそう




                             14
+

思考・会話の質          行動の質

+
                                   +
関係の質                結果の質


    +
          ダニエル・キム Organizing for Leaning 一部改変



                                                15
+


思考・会話の質          行動の質

 +
                                   +
 関係の質               結果の質


     +
          ダニエル・キム Organizing for Leaning 一部改変



                                                15
+


思考・会話の質      行動の質
 +
                                   +
 関係の質               結果の質


     +
          ダニエル・キム Organizing for Leaning 一部改変



                                                15
+


思考・会話の質      行動の質
 +
                                   +
 関係の質           結果の質

     +
          ダニエル・キム Organizing for Leaning 一部改変



                                                15
+


思考・会話の質      行動の質
 +
                                   +
関係の質            結果の質

     +
          ダニエル・キム Organizing for Leaning 一部改変



                                                15
+

           エクストリームなプロ
思考・会話の質
            グラミング行動の質
+
                   +

    関係の質   ストーリー(憧憬)
              の質

    +

                        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
XP再解釈

XP再解釈