frozenrails2011

Post on 11-Nov-2014

1.540 Views

Category:

Business

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

@josephwilk

Tuesday, 20 September 11

Joseph WilkTuesday, 20 September 11

Limited Red

Joseph WilkTuesday, 20 September 11

Limited RedOh crap

Joseph WilkTuesday, 20 September 11

Work In Progress

Tuesday, 20 September 11

Work In Progress

Tuesday, 20 September 11

Context Switching is Expensive

Tuesday, 20 September 11

Small Batch sizes

Large batches

Small batches

Tuesday, 20 September 11

Red == Work in Progress

Tuesday, 20 September 11

1 day

1.5 day

2 day

Tuesday, 20 September 11

Why is Red Bad?

Tuesday, 20 September 11

Limit Red

Measure Red

Learn

Visualise Red

Tuesday, 20 September 11

Are we Professionals?

Tuesday, 20 September 11

Tuesday, 20 September 11

Tuesday, 20 September 11

Tuesday, 20 September 11

Joseph Wilk

REFACTORING

TESTINGRE

D TI

MEPAIRING

Tuesday, 20 September 11

Measuring &Visualising Red

Tuesday, 20 September 11

Limited RedLearn and adapt from test metrics

Tuesday, 20 September 11

Tuesday, 20 September 11

Industrial Logic

Tuesday, 20 September 11

Industrial LogicTuesday, 20 September 11

Tuesday, 20 September 11

Tuesday, 20 September 11

Fighting Red

Tuesday, 20 September 11

‣Parallel Change

‣Narrowed Change

‣Sequence Change

‣Graceful Retreat

‣Piecemeal Change

‣Gradual Change

‣Evolved Target

‣Unified MethodsJoshua Kerievsky

Patterns

Tuesday, 20 September 11

Parallel Change

class ImageResizer

def resize(x,y) ... end

end

Tuesday, 20 September 11

Parallel Change

class ImageResizer include ThumbResizerend

module ThumbResizer def resize(x,y) ... endend

Tuesday, 20 September 11

Ship it

Tuesday, 20 September 11

But....

Tuesday, 20 September 11

Tuesday, 20 September 11

Tuesday, 20 September 11

Ship itTuesday, 20 September 11

Parallel Changeclass ImageResizer if FeatureFlipper.active?(:fast_resizer) include FastThumbResizer else include ThumbResizer endend

module ThumbResizer def resize(x,y) ... endend

module FastThumbResizer def resize(x,y) ... endend

Tuesday, 20 September 11

But... Bothversions!!!

Tuesday, 20 September 11

Ship itTuesday, 20 September 11

Parallel Change

class ImageResizer include FastThumbResizerend

module FastThumbResizer def resize(x,y) ... endend

Tuesday, 20 September 11

Ship itTuesday, 20 September 11

<%- 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

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 endend

<%- game_presenter.show_messaging? do %> <%= render :template => 'messaging' %><%- end %>

Tuesday, 20 September 11

Ship itTuesday, 20 September 11

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 endend

<%- game_presenter.show_messaging? do %> <%= render :template => 'messaging' %><%- end %>

Tuesday, 20 September 11

Ship itTuesday, 20 September 11

Sequence Change

Narrowed change

Remove control flag

Extract method

Tuesday, 20 September 11

Sequence Change

Narrowed change

Remove control flag

Extract method

Tuesday, 20 September 11

Graceful Retreat

Shave?

Please step away from the Yak... Slowly

Tuesday, 20 September 11

http://www.refactoring.com/catalog/index.html

Tuesday, 20 September 11

Learning more from Red

‣ Smart Continuous integration

‣ Failure rate

‣ Performance

‣ Flickering

Tuesday, 20 September 11

Tuesday, 20 September 11

Tuesday, 20 September 11

Evil hat

Tuesday, 20 September 11

Tuesday, 20 September 11

More Books!

Tuesday, 20 September 11

“To measure is to know”Lord Kelvin

Tuesday, 20 September 11

@josephwilk

joe@josephwilk.net

Kiitos

Tuesday, 20 September 11

@josephwilk

joe@josephwilk.net

Kiitos

Green

Tuesday, 20 September 11

@josephwilk

joe@josephwilk.net

Kiitos

Green

Tuesday, 20 September 11

@josephwilk

joe@josephwilk.net

Kiitos

GreenShip itTuesday, 20 September 11

top related