Top Banner
At the Extremities of Extreme Julian Fitzell AgileNorth June 9, 2011 Image © Christopher Michot
41

At the Extremities of Extreme (Agile North 2011)

Dec 05, 2014

Download

Technology

jfitzell

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: At the Extremities of Extreme (Agile North 2011)

At the Extremities of Extreme

Julian Fitzell

AgileNorthJune 9, 2011

Imag

e ©

Chr

isto

pher

Mic

hot

Page 2: At the Extremities of Extreme (Agile North 2011)

col·lab·o·ra·tion /kəˌlabəˈrāSHən/

n. The act of working with others to create or achieve something.

Page 3: At the Extremities of Extreme (Agile North 2011)
Page 4: At the Extremities of Extreme (Agile North 2011)

Collaboration bandwidth

• SalesForce - outsource your infrastructure and app maintenance to another - not bandwidth

• Twitter - Narrow band - cope with many interactions

• Facebook - widening bandwidth - those with 1,500 friends are about Narrow but those with 20 are much broader

• Online Gaming - WoW - play people you don’t know or with friends but it is immersive

Page 5: At the Extremities of Extreme (Agile North 2011)
Page 6: At the Extremities of Extreme (Agile North 2011)
Page 7: At the Extremities of Extreme (Agile North 2011)

Online Gaming

• fine-grained collaboration

• immersion

• transparency / feedback

• flow / transitions

Page 8: At the Extremities of Extreme (Agile North 2011)
Page 9: At the Extremities of Extreme (Agile North 2011)
Page 10: At the Extremities of Extreme (Agile North 2011)

A Simple Idea

What if we allowed a group of developers to simultaneously develop

the same running application?

Page 11: At the Extremities of Extreme (Agile North 2011)

fine-grained collaboration

Page 12: At the Extremities of Extreme (Agile North 2011)
Page 13: At the Extremities of Extreme (Agile North 2011)
Page 14: At the Extremities of Extreme (Agile North 2011)

Roam territory

Search for a herd

Test prey animals

Wolf Pack Programming™

Page 15: At the Extremities of Extreme (Agile North 2011)

Select easiest prey

If it takes flight, whole pack chases

If it stands, pack circles, two wolves attack

Page 16: At the Extremities of Extreme (Agile North 2011)

Roam territory

Search for a herd

Test prey animals

Page 17: At the Extremities of Extreme (Agile North 2011)

Search for a herd

Test prey animals

Roam problem domain / code base

Page 18: At the Extremities of Extreme (Agile North 2011)

Test prey animals

Roam problem domain / code base

Search for a requirement / feature

Page 19: At the Extremities of Extreme (Agile North 2011)

Roam problem domain / code base

Search for a requirement / feature

Test spikes

Page 20: At the Extremities of Extreme (Agile North 2011)

Select easiest prey

If it takes flight, whole pack chases

If it stands, pack circles, two wolves attack

Page 21: At the Extremities of Extreme (Agile North 2011)

If it takes flight, whole pack chases

If it stands, pack circles, two wolves attack

Select easiest implementation

Page 22: At the Extremities of Extreme (Agile North 2011)

If it stands, pack circles, two wolves attack

Select easiest implementation

If close to a solution, whole pack programs (flight)

Page 23: At the Extremities of Extreme (Agile North 2011)

Select easiest implementation

If close to a solution, whole pack programs (flight)

If it fights back, two wolves program; others rest (stand-off)

Page 24: At the Extremities of Extreme (Agile North 2011)

immersion

Page 25: At the Extremities of Extreme (Agile North 2011)

theCode: is^ [ :your | reality ]

Page 26: At the Extremities of Extreme (Agile North 2011)

Pairing

© P

aul S

trav

insk

y

Page 27: At the Extremities of Extreme (Agile North 2011)

restricts your view on the

world

Pairing

© P

aul S

trav

insk

y

Page 28: At the Extremities of Extreme (Agile North 2011)

pair programmingtwin and

triplet

Page 29: At the Extremities of Extreme (Agile North 2011)

transparency

Page 31: At the Extremities of Extreme (Agile North 2011)

Continuous Testing

Page 32: At the Extremities of Extreme (Agile North 2011)

PD-USGOV-INTERIO

R-NPS.

A wolf’s concept of

territory

Page 33: At the Extremities of Extreme (Agile North 2011)

Open Channel

Image ©

Retron / D

arren (flickr)

Page 34: At the Extremities of Extreme (Agile North 2011)

flow

Page 35: At the Extremities of Extreme (Agile North 2011)
Page 36: At the Extremities of Extreme (Agile North 2011)

Fix and commitRevert changes

Sync local files

CodeRefactor

Test

Re-Sync local files

Build locally

Commit local changes

Integration complete

Continuous Integration

build[ Build fails but quick fix ]

[ Build fails ][ Build succeeds with all tests passing ]

Repeat

Start

Repository

[ All conflicts resolved ]

Page 37: At the Extremities of Extreme (Agile North 2011)

Spike

CodeRefactor

Test

Everyone works on it

Commit changes

[ Build succeeds with all tests passing ]

Repeat

Start Select Spike

Repository

Page 38: At the Extremities of Extreme (Agile North 2011)

Spike

Code

Refactor

Test Everyone works on it

Commit changes

[ Build succeeds with all tests passing ]

Repeat

Start Select Spike

Repository

Page 39: At the Extremities of Extreme (Agile North 2011)

col·lab·o·ra·tion /kəˌlabəˈrāSHən/

n. The act of working with others to create or achieve something.

Page 40: At the Extremities of Extreme (Agile North 2011)

© 2

008

Ivan

Tes

sier

Page 41: At the Extremities of Extreme (Agile North 2011)

CINCOM and the Quadrant Logo are registered trademarks of Cincom Systems, Inc.All other trademarks belong to their respective companies.

© 2010,2011 Cincom Systems, Inc.All rights reserved

Julian [email protected]

Twitter: @jfitzell