Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Asynchronous Collaboration

Ryan McGeary
November 07, 2012

Asynchronous Collaboration

Communicating Through Our Source Code

We hear a lot about how strong communication and collaboration are key to a successful project. We spend a lot of time focusing on stand-up meetings and pair programming, but there are potentially other very effective means of keeping the team on the same page that not only avoid daily interruptions but also provide long-term benefit.

The goal of this talk is to help your team improve its own collaboration and productivity with just a bit of discipline and relatively low overhead.

Ryan McGeary

November 07, 2012
Tweet

More Decks by Ryan McGeary

Other Decks in Programming

Transcript

  1.        of or requiring

    a form of computer control timing protocol in which a specific operation begins upon receipt of an indication (signal) that the preceding operation has been completed. a•syn•chron•ous |āˈsiNGkr!n!s| adjective 
  2. (of two or more objects or events) not existing or

    happening at the same time. a•syn•chron•ous |āˈsiNGkr!n!s| adjective
  3. Flow focused in the zone on a roll present in

    the moment wired in in the groove on fire in tune centered
  4. Scrums are one of the most dangerous phases in rugby...

    -Wikipedia http://www.flickr.com/photos/williampaulking/5636394420/
  5. 20% of us are Larks 20% of us are Owls

    http://en.wikipedia.org/wiki/Lark http://en.wikipedia.org/wiki/Owl
  6. This is why hackers give you such a baleful stare

    as they turn from their screen to answer your question [interruption]. Inside their heads a giant house of cards is tottering. -Paul Graham http://www.flickr.com/photos/rocor/5610373534/
  7. Email use when appropraite keep it short stay on topic

    well-named subjects no thread- jacking
  8. IN: Finishing test refactors from yesterday... STATUS: Back later. Taking

    my wife to lunch. OUT: Finished refactors; Started to fix...
  9. Group Chat build status deployments team status subscription upgrades customer

    support sales git commits daily reports cancellations questions
  10. Bad Bug Reports lacking context bulleted list of unrelated issues

    “it didn’t work” outside the issue tracker blame
  11. Bad Feature Requests no detail bulleted list of unrelated topics

    “because I said so” outside the issue tracker too generic
  12. def gets(separator="\n", length=nil) if separator.nil? read_all elsif separator.is_a?(Integer) read_length(separator) elsif

    separator.length > 1 result = '' len = 0 match_idx = 0 match_num = separator.length - 1 to_match = separator[match_idx].chr if length matcher = lambda {|idx, num| idx < num && len < length } else matcher = lambda {|idx, num| idx < num} end while matcher.call(match_idx, match_num) && char = getc result << char len += 1 if char == to_match while match_idx < match_num do match_idx += 1
  13. def gets(separator="\n", length=nil) if separator.nil? read_all elsif separator.is_a?(Integer) read_length(separator) elsif

    separator.length > 1 end end read_to_string(separator, length) else read_to_character(separator, length)
  14. dfe4c3e Staging af0a3bb More staging fixes e5a524a More staging cap

    setup 19900ba More 0841841 More fixed dffb0db Again Bad
  15. dfe4c3e Staging af0a3bb More staging fixes e5a524a More staging cap

    setup 19900ba More 0841841 More fixed dffb0db Again 8a0f74c Updated scripts Bad
  16. dfe4c3e Staging af0a3bb More staging fixes e5a524a More staging cap

    setup 19900ba More 0841841 More fixed dffb0db Again 8a0f74c Updated scripts 587a09c deploy script cleanup Bad
  17. dfe4c3e Staging af0a3bb More staging fixes e5a524a More staging cap

    setup 19900ba More 0841841 More fixed dffb0db Again 8a0f74c Updated scripts 587a09c deploy script cleanup 9f474bc More staging Bad
  18. dfe4c3e Staging af0a3bb More staging fixes e5a524a More staging cap

    setup 19900ba More 0841841 More fixed dffb0db Again 8a0f74c Updated scripts 587a09c deploy script cleanup 9f474bc More staging c3f7275 Again more staging Bad
  19. dfe4c3e Staging af0a3bb More staging fixes e5a524a More staging cap

    setup 19900ba More 0841841 More fixed dffb0db Again 8a0f74c Updated scripts 587a09c deploy script cleanup 9f474bc More staging c3f7275 Again more staging 3ee25cd Read from env file Bad
  20. dfe4c3e Staging af0a3bb More staging fixes e5a524a More staging cap

    setup 19900ba More 0841841 More fixed dffb0db Again 8a0f74c Updated scripts 587a09c deploy script cleanup 9f474bc More staging c3f7275 Again more staging 3ee25cd Read from env file 0328c7c again Bad
  21. dfe4c3e Staging af0a3bb More staging fixes e5a524a More staging cap

    setup 19900ba More 0841841 More fixed dffb0db Again 8a0f74c Updated scripts 587a09c deploy script cleanup 9f474bc More staging c3f7275 Again more staging 3ee25cd Read from env file 0328c7c again d5e07c7 whoops Bad
  22. dfe4c3e Staging af0a3bb More staging fixes e5a524a More staging cap

    setup 19900ba More 0841841 More fixed dffb0db Again 8a0f74c Updated scripts 587a09c deploy script cleanup 9f474bc More staging c3f7275 Again more staging 3ee25cd Read from env file 0328c7c again d5e07c7 whoops 0536fc7 Again Bad
  23. dfe4c3e Staging af0a3bb More staging fixes e5a524a More staging cap

    setup 19900ba More 0841841 More fixed dffb0db Again 8a0f74c Updated scripts 587a09c deploy script cleanup 9f474bc More staging c3f7275 Again more staging 3ee25cd Read from env file 0328c7c again d5e07c7 whoops 0536fc7 Again 8af6da0 More Bad
  24. dfe4c3e Staging af0a3bb More staging fixes e5a524a More staging cap

    setup 19900ba More 0841841 More fixed dffb0db Again 8a0f74c Updated scripts 587a09c deploy script cleanup 9f474bc More staging c3f7275 Again more staging 3ee25cd Read from env file 0328c7c again d5e07c7 whoops 0536fc7 Again 8af6da0 More 9052cb8 Again Bad
  25. dfe4c3e Staging af0a3bb More staging fixes e5a524a More staging cap

    setup 19900ba More 0841841 More fixed dffb0db Again 8a0f74c Updated scripts 587a09c deploy script cleanup 9f474bc More staging c3f7275 Again more staging 3ee25cd Read from env file 0328c7c again d5e07c7 whoops 0536fc7 Again 8af6da0 More 9052cb8 Again 7587f8b Working? Bad
  26. dfe4c3e Staging af0a3bb More staging fixes e5a524a More staging cap

    setup 19900ba More 0841841 More fixed dffb0db Again 8a0f74c Updated scripts 587a09c deploy script cleanup 9f474bc More staging c3f7275 Again more staging 3ee25cd Read from env file 0328c7c again d5e07c7 whoops 0536fc7 Again 8af6da0 More 9052cb8 Again 7587f8b Working? 9770886 g Bad
  27. dfe4c3e Staging af0a3bb More staging fixes e5a524a More staging cap

    setup 19900ba More 0841841 More fixed dffb0db Again 8a0f74c Updated scripts 587a09c deploy script cleanup 9f474bc More staging c3f7275 Again more staging 3ee25cd Read from env file 0328c7c again d5e07c7 whoops 0536fc7 Again 8af6da0 More 9052cb8 Again 7587f8b Working? 9770886 g Bad
  28. More Bad 3a61755 what a hassle eec60db what a stupid

    hassle bf77372 seriously a fucking hassle
  29. More Bad 3a61755 what a hassle eec60db what a stupid

    hassle bf77372 seriously a fucking hassle 8b48352 this is a fucking hassle
  30. More Bad 3a61755 what a hassle eec60db what a stupid

    hassle bf77372 seriously a fucking hassle 8b48352 this is a fucking hassle eb7cdd7 wtf dude
  31. Huge Whoops More Again Serious Hassle Bad c1c38fc Update deploy

    recipe with some stuff. I dunno. it's late
  32. Good 0835022 Updated basic auth prompt to reflect app name

    950b8de Fixed password reset for users who use the same email on multiple accounts [Fixes #11102389]
  33. More Good 3224fff Added an extra 10s while sleeping after

    a Twitter rate-limit error * Twitter isn't always ready immediately after sleeping the advertised amount of time.
  34. More Good 3224fff Added an extra 10s while sleeping after

    a Twitter rate-limit error * Twitter isn't always ready immediately after sleeping the advertised amount of time. 334a2c4 Fixed bug related to contact syncing [#9190663] Contacts that should have been tagged both friend and follower were having those tags toggled on each #profile_sync run. If the contact had "follower", and profile_sync was run, then the code would set the system_tags to ["following"], blowing away the "follower" tag. It would do the same thing vice versa for the "following" system tag.
  35. Template Moved all static pages into a generic PagesController [Finishes

    #6375] * Cleaned up the routes * Simplified static page creation
  36. Template Moved all static pages into a generic PagesController [Finishes

    #6375] * Cleaned up the routes * Simplified static page creation DETAILS SUMMARY
  37. Template Moved all static pages into a generic PagesController [Finishes

    #6375] * Cleaned up the routes * Simplified static page creation VERB FRAGMENT TICKET # WHY
  38. Verbs 184 Added 85 Fixed 76 Upped 31 Removed 24

    Switched 21 Improved 20 Updated 16 Renamed