Real-time Collaborative Development (Jazoon 2011)

442 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
442
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Real-time Collaborative Development (Jazoon 2011)

  1. 1. Real-timeCollaborativeDevelopment:At the Extremities of Extreme Image © Christopher Michot Julian Fitzell
  2. 2. col·lab·o·ra·tion /kəˌlabəˈrāSHən/n. The act of working with others tocreate or achieve something.
  3. 3. 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
  4. 4. Online Gaming• fine-grained collaboration• immersion• transparency / feedback• flow / transitions
  5. 5. A Simple Idea What if we allowed a group ofdevelopers to simultaneously develop the same running application?
  6. 6. fine-grainedcollaboration
  7. 7. Roam territory Wolf Pack Programming ™ Search for a herd Test prey animals
  8. 8. If it takes flight, whole pack chases If it stands, pack circles, two wolves attackSelect easiest prey
  9. 9. Roam territory Search for a herd Test prey animals
  10. 10. Roam problem domain / code base Search for a herd Test prey animals
  11. 11. Roam problem domain / code base Search for a requirement / feature Test prey animals
  12. 12. Roam problem domain / code base Search for a requirement / feature Test spikes
  13. 13. If it takes flight, whole pack chases If it stands, pack circles, two wolves attackSelect easiest prey
  14. 14. If it takes flight, whole pack chases If it stands, pack circles, two wolves attack Select easiestimplementation
  15. 15. If close to a solution, whole pack programs (flight) If it stands, pack circles, two wolves attack Select easiestimplementation
  16. 16. If close to a solution, whole pack programs (flight) If it fights back, two wolves program; others rest (stand-off) Select easiestimplementation
  17. 17. immersion
  18. 18. immersion • attention focused • mentally invested • presence
  19. 19. theCode: is ^ [ :your | reality ]
  20. 20. Pairing© Paul Stravinsky
  21. 21. Pairingrestricts your view on the world © Paul Stravinsky
  22. 22. an d int w le t tr i p programming pair
  23. 23. transparency
  24. 24. Heat and Scenthttp://upload.wikimedia.org/wikipedia/commons/7/7d/Canis_lupus_tracks_in_sand.jpg
  25. 25. Continuous Testing
  26. 26. A wolf’s concept of territoryPD-USGOV-INTERIOR-NPS.
  27. 27. Open Channel Image © Retron / Darren (flickr)
  28. 28. flow
  29. 29. [ Build fails ] Continuous Integration [ Build succeeds with all tests passing ] build [ Build fails but quick fix ]Revert changes Fix and commit Integration complete Repository Repeat Start Sync local files Re-Sync local Commit local files changes [ All conflicts resolved ] Test Build locally Refactor Code
  30. 30. Repository RepeatStart Spike Commit Select Spike changes Test [ Build succeeds with all tests passing ] Everyone works on it Refactor Code
  31. 31. Repository RepeatStart Spike Select Spike Commit changes Test Everyone [ Build succeeds with all tests passing ] works on it Code Refactor
  32. 32. col·lab·o·ra·tion /kəˌlabəˈrāSHən/n. The act of working with others tocreate or achieve something.
  33. 33. © 2008 Ivan Tessier
  34. 34. Julian Fitzell jfitzell@cincom.com Twitter: @jfitzellCINCOM and the Quadrant Logo are registered trademarks of Cincom Systems, Inc. © 2010,2011 Cincom Systems, Inc.All other trademarks belong to their respective companies. All rights reserved

×