Germany specifics
Germany is 9 hours ahead (12am in AZ = 9am in Germany).
- Available/awake times for me would be 12am-1:30pm az time (9am-10:30pm Germany)
- Work 75% of time in morning/afternoon
- Work/save 6-7pm (9-10am AZ time) for general standup and catch up at our normal time
- Other weekly Wednesday meetings block out more time Wednesday
Remote Assumptions
- Communicate every day
- Keep Jira daily updated with relevant tasks
- Pay attention to git commit/PR comments and readable code
- Submit pull requests and do code reviews daily if possible
- Be agile, reflect often, if something isn't working on the team, communicate it and try new things
- Weekly setup calendar with busy times so guys can schedule things
- Setup open hours times where/how we can be reached - set calendar when busy
- Be proactive/persistence about getting feedback when needed
- Make sure to plan meetings beforehand for remote setup when needed
Stand up ideas
- Daily stand up/summary emails of work and video chats with the team.
- Hipchat updates
- idonethis.com
QA testing options
- Remote video test with Daniel, who's generally in the office <= 6am
- Have another dev remote test it
- Push to dev in AZ and test with Daniel
Conference tools (for one-on-ones, stand ups, meetings etc)
- (connect to ethernet when possible for better video connection)
- Google hangouts
- join.me
- gotomeeting
- Skype
- Phone call
- Sqwiggle
- (Hipchat + video)[https://www.hipchat.com] - can be flaky
Pair Programming
- Tmux ssh/vim pair programming - very easy to setup, we just need additional audio or video.
Long term improvements
- Better test coverage including helpers and views
- Better continuous delivery
- Daily pull requests and code reviews are very helpful
Positives
- Worked well, helped productivity, I was more energized and had more focus
- Sprint Velocity improved
- Our average is 24, we did 32
- We picked two especially challenging stories that had dependent code, which required Brian and I to collaborate often and share code frequently, and it ended up working pretty seamlessly
- Team didn't notice difference in productivity/communication
- We seemed to communicate more often, and it was more-concise
- We were able to accomplish all of our normal meetings with ease (iteration planning/retrospective, stand ups, reviews, dev discussions, etc)
- We were able to adapt and overcome problems as they arose
- We had the tools & availability to communicate
- Join.me Daniel remote testing went well
- Continuous Pull-requests were great for communication
- Tmux/ssh pairing worked very well
Challenges
- Some video and screen sharing solutions did not work well
- Hipchat video was very flaky
- Google video seems to work the best, and will work for multiple people remote
- Join.me seems to be the most reliable/quickest screen sharing tool
- Team missed seeing my face
- Squiggle (allows us easy access to video chat)
- Carve out more time to just hang out to help keep unity strong
- When slow connections on video it gets choppy
- Default connect to ethernet (if still slow, use phone call)
- Time differences communication delays (there were a couple times we wanted to communicate in the moment and had to wait)
- We needed to make sure we were proactive to get feedback if we needed something quickly
- First iteration planning I noticed it was difficult to hear everyone who was sitting far away from the computer
- We tried using a conference call which worked well
- Slow meeting startup/setup (one meeting there was a 10-15 minute delay in the office for the team planner to get setup).
- Either keep it simple, or whoever is planning the meeting, always be prepared for remote situations. Most meetings this did not seem to be a problem since we had a simple setup.
- Use meeting rooms that have optimal support for this
- On quick notice for remote work, make sure to check with anyone who has a meeting planned to see if they can support it