SlideShare a Scribd company logo
人生で大事なことは
XP白本と参考文献に教わった
IN 神山
∼本と本の間の見えない糸を り、
XPをより深く知る∼
2014/11/08
神山.rb 第一回
神山バレー・サテライトオフィス・コンプレックス
CultureWorks
Agile459
kkd
http://giantech.jp
懸田 剛
Kakeda Takeshi
http://myj.cultureworks.jp
9年14年
読んだこと
ある人?
人生で大事なことはXP白本と参考文献に教わった IN 神山
XPの5つの価値
✦ コミュニケーション
✦ シンプル
✦ フィードバック
✦ 勇気
✦ 尊重
http://www.extremeprogramming.org/
http://133.44.98.95/cgi-bin/scat.rb/ruby/ruby-list/24246
–Kent Beck
5年前、本書の初版が出版された頃には、
途方もなく「エクストリーム」に思えた
プラクティスが一般的になっている。
本書に掲載するプラクティスは、
今から5年後には保守的な方法に
なっているのだろう。
日本語版:http://d.hatena.ne.jp/yach/20140424
人生で大事なことはXP白本と参考文献に教わった IN 神山
+
+12%
人生で大事なことはXP白本と参考文献に教わった IN 神山
XPはAgileの
細胞として
様々な場所に偏
在するに至った
Annotated
Bibliography
解説付き参考文献
「さまざまな書籍を読んだことで、私の理解は深くなった。
ここでは、XPに関連したアイデアを提供する
いくつかの興味深い書籍を示す。」
8759
参考文献数
哲
学
態
度
創
発
プ
ロ
セ
ス
シ
ス
テ
ム人
プ
ロ
ジ
ェ
ク
ト
マ
ネ
ジ
メ
ン
ト
プ
ロ
グ
ラ
ミ
ン
グ
そ
の
他
0 5 10 15 20
1st 2nd
哲学
態度
創発プロセス
システム
人
プロジェクト
マネジメント
プログラミング
その他
一番取り上げ
られた本の
著者は?
G.M.ワインバーグ
–Kent Beck
言うこととやることが矛盾
する時、悪い結果が起きる。
本書は、どうやって言行一
致の人になるか、他人の言
行不一致をどう見破るか、
それにどう対処するかにつ
いてである。
–Kent Beck
私が実際に持っている価値は、
私が持っていると世間に思わせた
い価値ではないことに気づいた。
これまでの5年間は、私の実際の
価値を、理想の価値に変えるため
の旅であった。
私の実際の価値
を理想の価値に
変えるための旅
なぜ
参考文献?
様々な本と
の出会い
XP白本へ
の回帰
ケントが
通った道
世界は繋
がっている
人生で大事なことはXP白本と参考文献に教わった IN 神山
人生で大事なことはXP白本と参考文献に教わった IN 神山
–Kent Beck
アレクサンダーは設計を次の
ように考えることから始める。
設計とは、相矛盾する制約間
の対立を解決するための決断
であり、それでもなお残る制
約を解決するための決断を導
き出すものですある。
–Kent Beck
クリストファー・アレクサン
ダーの建築と施工に対する考
え方の概説。設計者および施
工者とその建築物を使う人と
の関係は、プログラマと顧客
の関係によく似ている。
–Kent Beck
新しい特性を生むためのルール
体系の一例。このルールがよい
かどうかには議論の余地がある
が、ルール自体は一読の価値が
ある。また、とても短いが、作
業空間の設計についての素晴ら
しい議論が記述されている。
人生で大事なことはXP白本と参考文献に教わった IN 神山
–Kent Beck
自分の考えを図で表現する方法。
線形に物事を考える人と
非線形に考える人との
コミュニケーションを促進する
人生で大事なことはXP白本と参考文献に教わった IN 神山
人生で大事なことはXP白本と参考文献に教わった IN 神山
Nancy Margulies
World Cafe’s Co-Developer
2007/9/28
オブLOVE ワールドカフェ
2005/12
http://education.jhu.edu/PD/newhorizons/strategies/topics/Graphic%20Tools%20for
%20Learning/margulies.htm
http://education.jhu.edu/PD/newhorizons/strategies/topics/Graphic%20Tools%20for
%20Learning/margulies.htm
http://education.jhu.edu/PD/newhorizons/strategies/topics/Graphic%20Tools%20for
%20Learning/margulies.htm
人生で大事なことはXP白本と参考文献に教わった IN 神山
人生で大事なことはXP白本と参考文献に教わった IN 神山
視覚的に表現
することの重
要性と楽しさ
人生で大事なことはXP白本と参考文献に教わった IN 神山
この本も、比喩(メタファ)と思
想についてよく論じている。比喩同
士がどのような形であれ融合するこ
とで、まったく別の新しい比喩が出
来るかについても述べており、これ
はソフトウェア工学の考え方と良く
似ている。土木工学や数学などから
来た古い比喩が、時間をかけてソフ
トウェア工学特有の比喩になってい
くのだ。
人生で大事なことはXP白本と参考文献に教わった IN 神山
メタファは単なる
レトリックではな
く思考と深く結び
ついている
時は
金なり
時間を浪費する
時間を節約する
時間のムダだ
予定は埋まってる
予定は空いている
予定は一杯である
予定が溢れる
時は
箱なり
タイムボッ
クス
http://www.slideshare.net/kkd/metaphors-we-develop-a-software-by-7661294
–G.M.ワインバーグ
バグという言葉を使っている組織は,
欠陥という言語を使っている組織は
異なった方法でソフトウェアを開発
し,保守している。
どっちが
品質を気
にしてそう?
サピア=ウォーフ仮説
「人間の経験や思考の様式はその言語習慣
によって実は規定されているのであり、
従って異なる言語を用いている人たちの
間では経験や思考の様式も違う
のではないか」という考え方。
http://hirataka.sfc.keio.ac.jp/rindoku2.htm
TDD BDD
http://www.clear-code.com/blog/2014/11/6.html
人生で大事なことはXP白本と参考文献に教わった IN 神山
「振る舞い駆動開発」とは、TDDに触発されて
Dan North氏により提唱され発展した手法です。
BDDはTDDの一流派ともいえますが、TDDに対し
以下の実現のための原則や工夫が加えられています。
• テストを「振る舞い」(機能的な外部仕様)
の記述に特化させる
• ユーザーの要求やアーキテクチャの設計仕様
といった、より上位のインプットとTDDのテスト
につながりを持たせる
テスト駆動開発/振る舞い駆動開発を始めるための基礎知識
http://www.atmarkit.co.jp/ait/articles/1403/05/news035_3.html#06
–A NEW LOOK ATTEST-DRIVEN DEVELOPMENT
なぜこれが問題なのか? これから1分間、開
発者が普段テストについてどう考えているか
思い浮かべてみよう。プログラマはこう大抵
はこう考える。「全部にテストなんて書けな
いよ」「これは本当に単純なコードだからテ
ストなんて要らないな」「テストなんて時間
の無駄だ」「こんなテスト(ループ/データ取
得/機能、など)は何百万回もやったよ」
http://giantech.jp/pages/ikitema2/BDDIntro.html
テスト とい
う言葉の重力に
引っ張られる
テスト と呼
ばず ビヘイビ
ア と呼ぼう!
うまくいか
なかった…
言葉が思考
に強い影響
を与える
人生で大事なことはXP白本と参考文献に教わった IN 神山
–Kent Beck
西欧社会における資源の高度
利用は、概して搾取と枯渇によ
るものである。パーマカルチャー
とは、シンプルな実践の相乗効
果によって、資源を持続的に高
度利用することを目的とした思
慮深い農法である。
–Kent Beck
これには、XPとの類似点がい
くつかある。たとえば、さまざ
まな要素同士が相互に影響し合
うことで最大の収穫が得られる。
パーマカルチャーとは、異なる
作物を螺旋状に植え、不規則な
湖岸線を持つ湖を使うこで、相
互作用を最大にすることだ。
XPはオンサイト顧客とペアプ
ログラミングによって、相互作
用を最大にする。
パーマカルチャー
人生で大事なことはXP白本と参考文献に教わった IN 神山
全米一住みたい街ポートランドに学ぶ、
創造・快適・環境先進都市の作り方
2014/10/22
ダイヤモンドクロス 2F
清水陽(@2013citrus)・懸田剛(@kkd)
http://www.slideshare.net/kkd/ss-40629190
–PCCJより
パーマカルチャーというのは、人間に
とっての恒久的持続可能な環境をつくり
出すためのデザイン体系のことである。
パーマカルチャーという語そのものは、
パーマネント(permanent 永久の)と
アグリカルチャー(agriculture 農業)
をつづめたものであるが、同時にパーマ
ネントとカルチャー(文化)の縮約形で
もある。
建築物
道具と技術
教育と文化
健康と精神的幸福
金融と経済
土地所有権と
コミュニティ運営
土地と自然の
管理
倫理
原則
実践
価値
原則
実践
PC XP
倫理と価値
りんり1【倫理】
① 人として守るべき道。道徳。モラル。
② 「倫理学」の略。
かち1【価値】
②  哲 善きもの望ましいものとして認め,その実現
を期待するもの。内在的なもの手段的なものなどにわ
かれるが,特に,真善美など,普遍妥当性をもった理
想的絶対的価値をいう。
相互連関的な
位置づけ
多機能
重要機能の
バックアップ
効率的なエネ
ルギー計画
生物資源の
活用
エネルギー
循環
小規模集約シ
ステム
植生遷移と
進化の加速
多様性
接縁効果 問題は機会
情報と想像力
の集約
Introduction to Permaculture Principle
人間性 経済性 相互利益
自己相似性 改善 多様性
反省 フロー 機会
冗長性 失敗 品質
小さな
ステップ
責任の
受け入れ
XPE 2nd Principle
–Kent Beck
パーマカルチャーのように考えると
デザインとは効果的に関連している
要素のシステムである
残渣
ミミズ
畑
野菜
家庭
排泄物 排水
廃棄
投入
施肥
投入
排泄
水利用
水やり
栽培
調理
浄化槽
投入
–AppleSeed Permaculture
The software development world is doing
excellent work to move holistic & dynamic design
processes forward. My friend and Gaia
University colleague Patrick Gibbs pointed me to
an Agile Manifesto for software development,
whose principles seem very applicable to
collaborative eco-social & permaculture design.
http://www.appleseedpermaculture.com/agile-manifesto-principles-permaculture/
全体論的・ダイ
ナミックなデザ
インプロセス
全体論的
✦ 全体は部分の総和ではない
✦ 部分を取り出して理解し、足し上げても全体の
理解にはならない
✦ システム開発を工程に分けて、それぞれを精緻に
改善しても(部分最適)、全体の最適化にはなら
ない(全体最適)
ダイナミックな
デザインプロセス
✦ 動的に状況が変わっていく中で、常に状況の変
化に合わせてデザインし続けるプロセス
✦ 要件の変化に適応する、自分たちのやり方を変
えていく、チームの改善から組織の改善へと広が
る
人生で大事なことはXP白本と参考文献に教わった IN 神山
複雑世界の変革
はどの領域でも
似てくる
複雑なものを受
け入れてどう人
が行動するか。
制御から
適応へ
傲慢から
謙虚さへ
人生で大事なことはXP白本と参考文献に教わった IN 神山
–Kent Beck
非暴力的なコミュニケーショ
ンの狙いは、人が判断と観
察を区別し、その奥にある
必要性を聞き出して、彼ら自
身の必要性を明確に述べら
れるようにすることであ
る。
–Wikipedia
コミュニケーションにおいて相手と
のつながりを持ち続けながら、お互
いのニーズが満たされるまで話し合
いを続けていくという、共感を持っ
て臨むコミュニケーションの方法で
ある。
NVCのプロセス
観察
感情
必要としていること
(ニーズ)
要求
(リクエスト)
評価を混じえずに観察する
どう思っているかではなく
どのような感情があるかを読み取る
感情の根源にある
必要としているものを探す
ニーズを満たす
具体的な要求を表現する
• 娘「テストが90点だったよ」
• 私「凄いね!でも惜しかったね!
次は100点目指してね!」
• 娘「90点とったんだから褒めて
よ!」
• 娘「テストが90点だったよ」
• 私「凄いね!」
• 娘「100点取れなかったんだよ!」
• 娘「テストが90点だったよ」
• 私「(顔を見て)100点取れなく
て悔しいの?」
• 娘「そう、悔しいんだよ!」
• 私「そうか、悔しいんだね。」
ユーザーストーリー
【役割】として
【具体的な要求】が欲しい
それは【必要としていること】
だからだ
エクスペリエンスマップ
http://www.ajike.co.jp/switch/ux_map/
感情
人生で大事なことはXP白本と参考文献に教わった IN 神山
相手を本気で
大事にしたいと思
うかがコミュニケー
ションの本質
人生で大事なことはXP白本と参考文献に教わった IN 神山
–Kent Beck
シンプルさと
明確さの価値について
検討している。
アーミッシュ
米国に住むキリスト教一派の
ドイツ系アメリカ人で、近代文
明を拒否して生活しており、電
気、電話などは一切使わず、ま
た基本的に自給自足で生きてい
る人々です。
http://oka-jp.seesaa.net/article/162826592.html
人生で大事なことはXP白本と参考文献に教わった IN 神山
http://plaza.rakuten.co.jp/ranran077/5006/
問題となるのは選択の正誤ではなかった。
優先するのは何か、次にそのために
何が最適か、が考えられた。
–Sue Bender
アーミッシュを訪ねる前、私は選択肢
が多ければ多いほど自分は豊かだと思っ
ていた。だが選択肢の多さと、
選択するということはまったく違う。
–Sue Bender
選択すること
ーこれが大切だと宣言することーーは、
人生の枠組みをつくることであり、
他の可能性を排除し、
残ったものに意味付けをすることである。
–Sue Bender
シンプル=
価値を明示
し守ること
何を大事に
して生きる
か?
まとめ
–Kent Beck
私が実際に持っている価値は、
私が持っていると世間に思わせたい
価値ではないことに気づいた。
これまでの5年間は、私の実際の価値
を、理想の価値に変えるための旅で
あった。
自分が生きる上
で大切にしたい
ことは何か?
期待と現実が合致するとき、
人は満足するということなの
だろう
–Sue Bender
理想と
現実の
一致
他人では
変えら
れない
自分しか
変えら
れない
Think about your values.
Make conscious choices to live in
harmony with them.
自分の価値を考え、その価値と調和した生活を
意識的に選択するのだ。
–Sue Bender
古い私はすこしも変わらない。
古い私、新しい私、不完全な私
それらすべてをひっくるめて
受け入れようとする私がある
私が白本と
参考文献に学んだこと
✦ ソフトウェア開発の現場で役立つ様々なプラクティ
スや原則
✦ 世界の関係性、つながり、今の世界に大事なこと
✦ よりよい仕事・人生を送るために、自分の内面と
向き合うこと
XP
Scrum
Lean
XP
Scrum
Lean
個人
チーム
組織
Even programmers can be whole
people in the real world.
プログラマーでさえも全人に成り得る
XPと共に
あらんことを

More Related Content

人生で大事なことはXP白本と参考文献に教わった IN 神山