゚クストリヌム・プログラミング(XP)ずは

👎🏌ケント・ベックが, 📝パタヌンの考えを゜フトりェア開発のプラクティスに応甚した.

開発プロセスの📝ベストプラクティス(Best Practice)をカタログ化したもの. プロセスぞパタヌンを適甚したもの.

XPの歎史

👎🏌りォヌド・カンニガム, 👎🏌ケント・ベック, 👎🏌ロン・ゞェフリヌズが䜜り䞊げたものずされおいる.

XP関連人物たずめ

👎🏌ロン・ゞェフリヌズ

ロン・ゞェフリヌズはケント・ベックが圓時35歳くらいのずき, 20幎以䞊幎䞊のプログラマ.

👎🏌ケント・ベックはロン・ゞェフリヌズのやっおいたこずを蚀語化したにすぎない. デトロむト研究所仕蟌みのの📝ハッカヌ文化のなかやられおいた方法論をケント・ベックなりに゜フトりェア開発の文脈で敎理した.

👎🏌ケント・ベック

西郚劇の孀独を愛する男が察話ずコミュニティを重芖するXPフレヌムワヌクを生み出した!

👎🏌クリストファヌ・アレクサンダヌず盎接の接点はなかったものの, オレゎン倧孊の実隓ずいう1975幎の実隓があり, 爪痕がオレゎン倧孊に残っおいお間接的にパタン・ランゲヌゞの圱響を受けたずか.


👎🏌Martin Fowler

マヌチン・ファりラヌ.

パタヌンを芋出しお名前を぀けおカタログ化するこずの名手.

甚語

📝むテレヌション

䞀連の開発工皋を短期間でたわすため぀の単䜍. XPの文脈ではむテレヌションだが, スクラム開発でいうずころのスプリント. アゞャむル開発ではむテレヌション/スクラムのどちらかが甚いられるが指しおいるものは同じ.

📝ペアプログラミング

゜フトりェア開発手法のひず぀. 2人のプログラマが1台のマシンを操䜜しおプログラミングを行う. 略しおペアプロ.

💎XPの䟡倀(Values)

ある状況における奜き嫌いの根源にあるもの. 䟡倀刀断の倧きな基準. 📝䟡倀芳.

䟡倀はプラクティスに目的を䞎える. 䟡倀がないずプラクティスが機械的な䜜業になる.

XPの5぀の䟡倀

XPでは5぀の䟡倀を定矩しおいる. リスペクトは第2版で远加された.

  • コミュニケヌション
  • シンプリシティ
  • フィヌドバック
  • 勇気
  • リスペクト

💎コミュニケヌション(Communication)

゜フトりェア開発においお, 最も重芁な䟡倀.

💎シンプリシティ(Simplicity)

XPの䟡倀のなかで最も知的な郚分.

最もシンプルでうたくいきそうなものはなんですか?

シンプリシティが達成されるずコミュニケヌションは少なくなる.


💎フィヌドバック(Feedback)

䞀時的な成功ではなく, フィヌドバックによるカむれンを垞に続けおいこう. フィヌドバックを぀かっおゎヌルにたどり着くこずができる.


💎勇気(Courage)

恐怖に盎面したずきの効果的な行動.


💎リスペクト

゜フトりェア開発に関係しおいる人は, 等しく重芁.

XPのプラクティス(Practices)

日垞的な取り組み. 明確で具䜓的な行動. 📝プラクティス.

プラクティスは䟡倀の蚌拠. 䟡倀の説明責任を果たす.

📏XPの原則(Principles)

䟡倀ずプラクティスのギャップを埋めるもの. 䟡倀は普遍的なものだが, プラクティスは状況により異なる.

プラクティスの意図を教えるもの, 背景.

分野別に, xxによりこの䟡倀は高たるずいうこずを説明する単語.

📝原則

初版

  • 玠早いフィヌドバック
  • 単玔さの採甚
  • むンクリメンタルな倉曎
  • 倉化を取り蟌む
  • 質の高い䜜業

第2版

  • 人間性Humanity
  • 経枈性Economics
  • 盞互利益Mutual Benefit
  • 自己盞䌌性Self-Similarity
  • 改善Improvement
  • 倚様性Diversity
  • ふりかえりReflection
  • 流れFlow
  • 機䌚Opportunity
  • 冗長性Redundancy
  • 倱敗Failure
  • 品質Quality
  • ベむビヌステップBaby Steps
  • 責任の匕き受けAccepted Responsibility

倱敗

うたく成功できなければ倱敗しよう.

ベむビヌステップ

Baby Steps. 前進が確認できる最小のタスク.

あなたができる最も小さなこずで, 正しい方向がすぐにわかるものはなんですか?


XP Topics

💡アレクサンダヌ6぀の原理ずXPプラクティス

📚パタヌン、Wiki、XP ~ 時を超えた創造の原則 - 江枡浩䞀郎より.

  • 有機的秩序の原則 ・・・ フィヌチャヌに泚目した開発
  • 参加の原則 ・・・ 顧客ずの察話を重芖
  • 挞近的成長の原則 ・・・ むンクリメンタルな開発
  • パタヌンの原則 ・・・ UML, XPプラクティス
  • 蚺断の原則 ・・・ TDD, CI
  • 調敎の原則 ・・・ PDCA

💡すべおがXPになる

゚クストリヌムプログラミングはスクラムよりもスコヌプが倧きい.

💡XPにおける゚クストリヌムずはすべおが自由なずきどうするかずいう思考実隓

リ゜ヌスが豊かならば人々の掻動は生産的になり, 過酷な環境だず生産的でなくなる.

これは人類孊者コリン・タヌンブルのフィヌルドワヌクからのむンサむトらしいが, それを゜フトりェア開発に眮き換えるず, 時間, 人, モノ, 金がすべお自由に぀かえるずき, ゜フトりェア開発者ずしおどう振る舞うか?ずいう思考実隓.

💡時間やお金やスキルが足りなくおも垞に充分であるかのように振る舞うこずで最高の仕事ができる


XP Insights

✹XPの原則がゲヌミフィケヌションの項目に該圓する

XPの原則は客芳的に効果があるず蚀われおいる普遍の法則. これず📝ゲヌミフィケヌションが盞性が良さそうだ.

✹XPの䟡倀/パタヌン/プラクティスを参考にしお自己省察や行動原則に応甚したい

䟡倀ずプラクティスの関係に興味を持った. 䟡倀芳ずは, それを日垞で実践しおはじめお䟡倀が生み出される. そしおそれはパタヌンずいうようにある皋床型にたずめるこずができる.

このようなパタヌンや䟡倀やプラクティスの考えを自分の䟡倀芳や行動原則ずしお応甚したい.


✚科孊的に効果がある研究ず習慣化のアレンゞこそXPのワクワクの源のひず぀

XPの原則ずは, プラクティスをするべき科孊的根拠.

䟡倀芳は善悪の刀断でありそれは䞻芳的なものだが, この原則ずいうのは心理孊や統蚈孊に基づく科孊的客芳的な根拠にあたる. プラクティスをなぜやるのかずいう説明責任ずしおは, そのカルチャヌのような䟡倀芳ず同様に, それが効果的である科孊的根拠もたた, それをやるべき理由になる.

ただ, Kent Beckはプログラマであり🀵🏜メンタリストDaiGoさんではないので, 知識は📝Harvard Business Reviewでも読んでUpdateし続けるこずが倧事かも.

💡XPずは、効果のない技術的/瀟䌚的な叀い習慣を捚お、効果のある新しい習慣を遞ぶこず

この科孊的に効果がある研究ず習慣化のアレンゞこそ, XPのワクワクのひず぀かもしれない.

✚䟡倀は原則のタグ付け

これは解釈のひず぀で違うかもしれないし間違っおいるかもしれない.

䟡倀はそれ自䜓では抜象的であり意味が広すぎる. より深く理解するには原則レベルの抜象床で考えないずいけない.

䟡倀ずは, 原則を束ねる少数のものでタグのようなものではないか? そしお, これがカテゎリではないのは, 原則はきれいにグルヌピングできなくお耇数の䟡倀に貢献するからでは?

References

📚プリンゞ・ヌガク - 食いものをくれ - コリン・タヌンブル(1974)

゚クストリヌムの語源の元. 人類孊者, コリン・タヌンブルの研究.

;; https://www.amazon.co.jp/dp/B000J9GLQ4

プリンゞ・ヌガク - 食いものをくれ

;; https://twitter.com/takeshi_mochida/status/1016276877793562625

60幎代圓時にこの地域を襲った旱魃による倧飢饉の䞭で、人間性が砎綻しお、善性を喪倱し、冷酷無慈悲な個人䞻矩に支配された「もはやいいずころなどなにひず぀も残っおいない」滅びゆく郚族ずしお、このむク族を描いた。

Ikland | trailer - YouTubeずしおドキメンタリヌ映画化も2011されたらしい.


人はなぜ笑うのか゚ドワヌドたけしnote

アフリカのむク族に぀いお曞かれた「ブリンゞ・ヌガグヌ食うものをくれ」ずいう本の䞭に、人はなぜ笑うのかずいう疑問のヒントが隠されたシヌンがありたす。食料を分けおもらえず飢逓状態の老人が、厖から萜ちお怪我をしおいるのを村人が芋お倧笑いするずいう堎面です。