Basic Info:
A Team of 9 engineers: 1 Manager, 3 Senior engineer, 3 Junior - Intermediate engineer, 1 QA, 1 DBA
Two groups of the team: each responsible for different but related projects
Location: 2 at Canada and 7 at US, with 3 hours time difference
Tools:
JIRA - Task management
Slack - Problem discussion, Information notification
ScreenHero - Pair programming
Office 365 - Scheduling meetings, Inforamtion notification, emails
Lifesize video conference - Important and long meetings
What is our remote working mode like?
1. Each sprint has 2 weeks.
2. Every other Monday - sprint planning (
1-1.5 hours):
- Create all tasks on JIRA,
- Make sure everyone know what themselves need to do and also what others do.
- Provide sufficient information for each tasks in jira.
- Every one should estimate the story points of each tasks and agree on one final points
- Retrospective for last sprint: what doing good, what can we improve
3. Every other Monday, should have 1:1 meeting with manager (
15-30 minutes):
- Share thoughts about ongoing projects.
- Talk about personal goals
- Talk about company goals, department goals
- Share company information
4. Daily routine:
- Stand up meeting:
Ottawa time (13:30pm), PA time(10:30am)
- Don’t know what to do?
Check jira
- Still have problem understanding tasks?
Slack senior engineers, mention specific person if possible
- Code completed?
Push to GitHub, attach PR link to related jira ticket
- Have problems understanding code?
ScreenHero to pair programming
- Need support from other teams?
File a ticket on jira
- Not sure who to turn to?
Ask manager, or check boarding information on jira wiki
- Encounter tough problems?
Office 365 to book a meeting room and schedule a meeting
- How to take notes?
Use Evernote for fragments and then use Jira wiki for well documenting.
- Need to go offline for a while?
Send a notification on Slack channel to inform all team members
- How to start a day or end a day?
Check Splunk/ELK log, check New Relic/DataDog dashboard for system monitoring.
File a ticket if found critical issues
- Ticket not responded by other teams?
Find the team and slack them directly, or ask manager to forward your problem.
5. Good practices:
- Update ticket if have some progress
- Comment on ticket if finished part of your work
- Talk to senior engineers in time if you are unsure about sth, don't hesitate
- Should know how your team fit into the company goal, and how your team project related to other projects, should get more details
- Get to know different people from different teams (no need to be good friends)
- Read tech specs
- Write more tech documents/blogs/specs
- Know more DevOps tools