Real-time Collaborative Development (Jazoon 2011)
-
Upload
jfitzell -
Category
Technology
-
view
251 -
download
2
description
Transcript of Real-time Collaborative Development (Jazoon 2011)
![Page 1: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/1.jpg)
Real-time Collaborative Development:At the Extremities of Extreme
Imag
e ©
Chr
isto
pher
Mic
hot
Julian Fitzell
![Page 2: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/2.jpg)
col·lab·o·ra·tion /kəˌlabəˈrāSHən/
n. The act of working with others to create or achieve something.
![Page 3: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/3.jpg)
![Page 4: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/4.jpg)
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: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/5.jpg)
![Page 6: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/6.jpg)
![Page 7: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/7.jpg)
Online Gaming
• fine-grained collaboration
• immersion
• transparency / feedback
• flow / transitions
![Page 8: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/8.jpg)
![Page 9: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/9.jpg)
![Page 10: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/10.jpg)
![Page 11: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/11.jpg)
![Page 12: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/12.jpg)
![Page 13: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/13.jpg)
![Page 14: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/14.jpg)
A Simple Idea
What if we allowed a group of developers to simultaneously develop
the same running application?
![Page 15: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/15.jpg)
fine-grained collaboration
![Page 16: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/16.jpg)
![Page 17: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/17.jpg)
![Page 18: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/18.jpg)
![Page 19: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/19.jpg)
![Page 20: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/20.jpg)
Roam territory
Search for a herd
Test prey animals
Wolf Pack Programming™
![Page 21: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/21.jpg)
Select easiest prey
If it takes flight, whole pack chases
If it stands, pack circles, two wolves attack
![Page 22: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/22.jpg)
Roam territory
Search for a herd
Test prey animals
![Page 23: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/23.jpg)
Search for a herd
Test prey animals
Roam problem domain / code base
![Page 24: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/24.jpg)
Test prey animals
Roam problem domain / code base
Search for a requirement / feature
![Page 25: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/25.jpg)
Roam problem domain / code base
Search for a requirement / feature
Test spikes
![Page 26: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/26.jpg)
Select easiest prey
If it takes flight, whole pack chases
If it stands, pack circles, two wolves attack
![Page 27: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/27.jpg)
If it takes flight, whole pack chases
If it stands, pack circles, two wolves attack
Select easiest implementation
![Page 28: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/28.jpg)
If it stands, pack circles, two wolves attack
Select easiest implementation
If close to a solution, whole pack programs (flight)
![Page 29: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/29.jpg)
Select easiest implementation
If close to a solution, whole pack programs (flight)
If it fights back, two wolves program; others rest (stand-off)
![Page 30: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/30.jpg)
immersion
![Page 31: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/31.jpg)
immersion• attention focused• mentally invested• presence
![Page 32: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/32.jpg)
theCode: is^ [ :your | reality ]
![Page 33: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/33.jpg)
Pairing
© P
aul S
trav
insk
y
![Page 34: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/34.jpg)
restricts your view on the
world
Pairing
© P
aul S
trav
insk
y
![Page 35: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/35.jpg)
pair programmingtwin and
triplet
![Page 36: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/36.jpg)
transparency
![Page 37: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/37.jpg)
Heat and Scent
http://upload.wikimedia.org/wikipedia/commons/7/7d/Canis_lupus_tracks_in_sand.jpg
![Page 38: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/38.jpg)
Continuous Testing
![Page 39: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/39.jpg)
PD-USGOV-INTERIO
R-NPS.
A wolf’s concept of
territory
![Page 40: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/40.jpg)
Open Channel
Image ©
Retron / D
arren (flickr)
![Page 41: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/41.jpg)
flow
![Page 42: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/42.jpg)
![Page 43: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/43.jpg)
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 44: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/44.jpg)
Spike
CodeRefactor
Test
Everyone works on it
Commit changes
[ Build succeeds with all tests passing ]
Repeat
Start Select Spike
Repository
![Page 45: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/45.jpg)
Spike
Code
Refactor
Test Everyone works on it
Commit changes
[ Build succeeds with all tests passing ]
Repeat
Start Select Spike
Repository
![Page 46: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/46.jpg)
col·lab·o·ra·tion /kəˌlabəˈrāSHən/
n. The act of working with others to create or achieve something.
![Page 47: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/47.jpg)
© 2
008
Ivan
Tes
sier
![Page 48: Real-time Collaborative Development (Jazoon 2011)](https://reader034.fdocuments.us/reader034/viewer/2022051818/54ba88b24a79591a7d8b4631/html5/thumbnails/48.jpg)
Julian [email protected]
Twitter: @jfitzell
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