Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

モデリングもしないでXPとは何事だ

4,037 views

Published on

XP祭り2014 LT資料

Published in: Software
  • Follow the link, new dating source: ❶❶❶ http://bit.ly/2F4cEJi ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Sex in your area is here: ❤❤❤ http://bit.ly/2F4cEJi ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

モデリングもしないでXPとは何事だ

  1. 1. XP祭り 2014 LT資料
  2. 2. 自己紹介 原田 巌 @iwaoRd 「人生、全速力で回り道」 モデモデ言ってるSIer勤務
  3. 3. 質問 XP祭りは 楽しかったか~い!?
  4. 4. OK! なんとなく 自分のLTが盛り上がっている 感じで嬉しいです! m9(^Д^)
  5. 5. XPって? XPエクストリーム・プログラミング入門―ソフトウェア開発の究極の手法 ケント ベック http://www.amazon.co.jp/dp/489471275X/
  6. 6. ¥ 35
  7. 7. XPってくっそ安い お買い得だぞ!!!
  8. 8. 強調したいのはこの点 変更のコストを一定に保つ この前提において、、、 従来開発 XP開発 時間 コスト
  9. 9. 決定を遅らせる “プロセス内で大きな決定を することを可能な限り遅らせ、 決定が正しくなるまで待つだろう” (第5章 変更のコストより P.23-25)
  10. 10. 必要なもの •シンプルな設計 •自動化されたテスト •設計を修正するための多くの実践
  11. 11. つまり、、
  12. 12. 必要なもの •シンプルな設計 •自動化されたテスト •設計を修正するための多くの実践
  13. 13. 俺の えっくすぴぃ FooD MENU 前菜:現場でやったこと 主菜:モデリング×TDDによる設計 デザート:大失敗!??
  14. 14. 前菜:現場でやったこと
  15. 15. モデリング 共通認識 シナリオと受入テスト プログラミング
  16. 16. モデリングとコードの学びのループ
  17. 17. 主菜:Modeling×TDD
  18. 18. シンプルな設計を目指して •モデリングで問題や解決策を素早く捕え るがモデルだけでは“具体的な”フィード バックは得られない •シナリオを通してオブジェクトの責務を 分析する •TDDを使用して実現方法を設計する
  19. 19. 重要なのは? 1)全体感、目的、知識の共有 シナリオをベースにユーザ価値に着目した テストを実施すること。このテストは自動 的に繰り返して価値提供を保証すること。 2)実装のための設計をすること モデリングとTDDで設計をスパイラルアッ プさせていくこと。簡単な図で全体認識を あわせつつ局所設計をコードで検証する。
  20. 20. <<アジャイルソフトウェア開発の奥義より>> 第6章 プログラミングエピソード より Bobおじさんがボウリングゲームを始める 時にやったこと 1.図解 2.UMLダイアグラムの作成 1 4 5 4 5 14 6 29 Game Frame Throw 10 1…3 ※Bobおじさんはこの後にダイアグラムは何の役にも立たなかったと言っていたけどね♪
  21. 21. デザート:大失敗!??
  22. 22. TDD will kill you!!!(1) •テストオールレッドです!! →設計変更するとテストがコケまくる! →TDDがinside-outに寄り過ぎ →C0/C1 100%って言う罠
  23. 23. TDD will kill you!!!(2) •Mockが黒魔術化!!! →設計が甘いとMockがウザい! →共通性/変動性分析を通して、関心ごと をカプセル化できてないとMockの中身 が気になる不思議空間が産まれる
  24. 24. TDDは用法、用量を守る! Cope says “Most UT is Waste” •UT tests methods, not the module/class DHH says “TDD is Dead” 1.UT is not automated test 2.heavy mocking hurts architecture
  25. 25. コードから学ぶ/考える •モデルだけでは見えない世界がコードから見え ることがある •時には実装パターンを使うことで、考えられて いない事が見えてくる ※でも、忘れないで!モデリングは大前提 RE-DESIGN from coding/testing
  26. 26. オブジェクト指向エクササイズのススメ オブジェクト指向エクササイズのススメ http://www.slideshare.net/yojik/ss-1033616
  27. 27. 最後に俺なりのXP 【XPな設計方法】 作るモノをいろいろな視点で見る大切さ モデリングとプログラミングの視点 Modeling Programing
  28. 28. 【予告】パタン・ランゲージ重要 パタン・ランゲージとは 「あるコンテキストにおける問題の解決方法」 –パターンの名前 –パターンの目的、 すなわち解決する問題 –その達成方法 –達成する上で考慮する必要 がある制約とフォース 禅とシステム修理工(笑)
  29. 29. 以上、ご静聴ありがとうございました
  30. 30. ●おわり●

×