Pro Yearly is on sale from $80 to $50! »

Limited Red

3c28deaff162aeda44f2e0bcdca1dacf?s=47 Joseph Wilk
September 22, 2011

Limited Red

3c28deaff162aeda44f2e0bcdca1dacf?s=128

Joseph Wilk

September 22, 2011
Tweet

Transcript

  1. @josephwilk Tuesday, 20 September 11

  2. Joseph Wilk Tuesday, 20 September 11

  3. Limited Red Joseph Wilk Tuesday, 20 September 11

  4. Limited Red Oh crap Joseph Wilk Tuesday, 20 September 11

  5. Work In Progress Tuesday, 20 September 11

  6. Work In Progress Tuesday, 20 September 11

  7. Context Switching is Expensive Tuesday, 20 September 11

  8. Small Batch sizes Large batches Small batches Tuesday, 20 September

    11
  9. Red == Work in Progress Tuesday, 20 September 11

  10. 1 day 1.5 day 2 day Tuesday, 20 September 11

  11. Why is Red Bad? Tuesday, 20 September 11

  12. Limit Red Measure Red Learn Visualise Red Tuesday, 20 September

    11
  13. Are we Professionals? Tuesday, 20 September 11

  14. Tuesday, 20 September 11

  15. Tuesday, 20 September 11

  16. Tuesday, 20 September 11

  17. Joseph Wilk REFACTORING TESTING RED TIME PAIRING Tuesday, 20 September

    11
  18. Measuring & Visualising Red Tuesday, 20 September 11

  19. Limited Red Learn and adapt from test metrics Tuesday, 20

    September 11
  20. Tuesday, 20 September 11

  21. Industrial Logic Tuesday, 20 September 11

  22. Industrial Logic Tuesday, 20 September 11

  23. Tuesday, 20 September 11

  24. Tuesday, 20 September 11

  25. Fighting Red Tuesday, 20 September 11

  26. ‣Parallel Change ‣Narrowed Change ‣Sequence Change ‣Graceful Retreat ‣Piecemeal Change

    ‣Gradual Change ‣Evolved Target ‣Unified Methods Joshua Kerievsky Patterns Tuesday, 20 September 11
  27. Parallel Change class ImageResizer def resize(x,y) ... end end Tuesday,

    20 September 11
  28. Parallel Change class ImageResizer include ThumbResizer end module ThumbResizer def

    resize(x,y) ... end end Tuesday, 20 September 11
  29. Ship it Tuesday, 20 September 11

  30. But.... Tuesday, 20 September 11

  31. Tuesday, 20 September 11

  32. Tuesday, 20 September 11

  33. Ship it Tuesday, 20 September 11

  34. Parallel Change class ImageResizer if FeatureFlipper.active?(:fast_resizer) include FastThumbResizer else include

    ThumbResizer end end module ThumbResizer def resize(x,y) ... end end module FastThumbResizer def resize(x,y) ... end end Tuesday, 20 September 11
  35. But... Both versions!!! Tuesday, 20 September 11

  36. Ship it Tuesday, 20 September 11

  37. Parallel Change class ImageResizer include FastThumbResizer end module FastThumbResizer def

    resize(x,y) ... end end Tuesday, 20 September 11
  38. Ship it Tuesday, 20 September 11

  39. <%- if @game.player?(@active_user) && @black_player.present? && @white_player.present? %> <%= render

    :template => 'messaging' %> <%- end %> <%- if @game.player?(@active_user) && @black_player.present? && @white_player.present? %> <%= render :template => 'messaging' %> <%- end %> Narrowed Change Tuesday, 20 September 11
  40. Narrowed Change class GamePresenter def initialize(game, black_payer, white_player) @game, @black_player,

    @white_player = game, black_player, white_player end def show_messaging?(&block) messaging_should_be_visible = @game.player?(@user) && @black_player.present? && @white_player.present? yield block if messaging_should_be_visible end end <%- game_presenter.show_messaging? do %> <%= render :template => 'messaging' %> <%- end %> Tuesday, 20 September 11
  41. Ship it Tuesday, 20 September 11

  42. Narrowed Change class GamePresenter def initialize(game, black_payer, white_player) @game, @black_player,

    @white_player = game, black_player, white_player end def show_messaging?(&block) messaging_should_be_visible= @game.human_player?(@user) yield block if messaging_should_be_visible end end <%- game_presenter.show_messaging? do %> <%= render :template => 'messaging' %> <%- end %> Tuesday, 20 September 11
  43. Ship it Tuesday, 20 September 11

  44. Sequence Change Narrowed change Remove control flag Extract method Tuesday,

    20 September 11
  45. Sequence Change Narrowed change Remove control flag Extract method Tuesday,

    20 September 11
  46. Graceful Retreat Shave? Please step away from the Yak... Slowly

    Tuesday, 20 September 11
  47. http://www.refactoring.com/catalog/index.html Tuesday, 20 September 11

  48. Learning more from Red ‣ Smart Continuous integration ‣ Failure

    rate ‣ Performance ‣ Flickering Tuesday, 20 September 11
  49. Tuesday, 20 September 11

  50. Tuesday, 20 September 11

  51. Evil hat Tuesday, 20 September 11

  52. Tuesday, 20 September 11

  53. More Books! Tuesday, 20 September 11

  54. “To measure is to know” Lord Kelvin Tuesday, 20 September

    11
  55. @josephwilk joe@josephwilk.net Kiitos Tuesday, 20 September 11

  56. @josephwilk joe@josephwilk.net Kiitos Green Tuesday, 20 September 11

  57. @josephwilk joe@josephwilk.net Kiitos Green Tuesday, 20 September 11

  58. @josephwilk joe@josephwilk.net Kiitos Green Ship it Tuesday, 20 September 11