fleet/handbook/company/communications.md
Sampfluger88 768407ceb5
Update ceo.md (#13120)
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2023-08-04 00:17:57 -05:00

148 lines
9.8 KiB
Markdown

# Communications
Fleet's [open-core](https://www.heavybit.com/library/video/commercial-open-source-business-strategies) style of communication and the [tools we use](https://docs.google.com/spreadsheets/d/170qjzvyGjmbFhwS4Mucotxnw_JvyAjYv4qpwBrS6Gl8/edit?usp=sharing) are part of the company's DNA and essential to moving Fleet into the future.
## Vision for dept handbook pages
The idea here is to get this vision implemented on a single departmental handbook page first, starting with handbook/company/ceo. It's hard to know what the philosophy should be until we can see it. So we need to shorten the feedback loop so we can see it change live in one place. That way we can iterate in one place instead of having things go a bunch of different directions, and adding in all the complexity of extra redirects to keep track of and all that stuff. Then once we've got that looking good and have iterated a bit, we'll spread it out.
Another thing is that we need to get a better intuitive understanding of who these pages are designed to serve. So in order to put ourselves in their shoes (get behind their eyeballs), we need something to look at. So doing a particular page first provides us with that canvas.
- (h1) Top-level page title/ file name
- (h2) Short section on _departmentally specific philosophy_ and the purpose of the page: If philosophy applies to more than your department, **pull it out**, make it easier for contributors to find.
- **Nice to have:** Tiny little link/sentence/button with call-to-action that links you to intake or intake options)
- (h2) How can I… (outward facing first: e.g.non-Fleetie contributor)
- e.g. (h3) CEO flaws
- e.g. (h3) Scheduling with the CEO
- e.g. (h3) Summoning the CEO (travel)
- (h2) How-tos (Inward facing e.g. Fleetie)
- e.g. (h2) Process CEO email
- (h2) Intake
- (h2) Kanban
- (h2) Rituals
- (h2) Slack channels
## Meetings
Plan to join meetings on time. At Fleet, we start on time and do not wait for folks to join.
Our meetings are conducted over zoom, please join with a working microphone and with your camera on whenever possible.
Being even a few minutes late can make a big difference and slow your meeting counterparts down. When in doubt, show up a couple of minutes early.
Spend the first few minutes of a meeting being present and making small talk.
Since we are all remote, it's easy to miss out on hallway chatter and human connections that happen in [meatspace](https://www.dictionary.com/browse/meatspace).
Use this time together during the first minute to say "Hi!" Then you can jump into the topics to be discussed.
Turning on your camera allows for more complete and intuitive verbal and non-verbal communication.
Feel free to leave your camera on or turn it off when joining meetings with new participants you might not be familiar with yet. Turn your camera on when you lead or cohost a meeting.
In an all-remote company, “face time” matters.
***Before scheduling a meeting*** ask yourself:
1. Can this information be presented [async](https://fleetdm.com/handbook/company/why-this-way#why-handbook-first-strategy)?
- Is there another way to distribute this info or align on a course of action that _doesn't_ take valuable time away from customers, projects, or personal time? Could you create a [Google Doc](https://docs.google.com/document/d/1TaZ654gTwadWGDYhP3zuAzWe0eiY0s9NhaU9KLCokgw/edit) and share it with would-be attendees? If the info can be documented it should be. Could the info be sent in Slack or by email?
2. Do I have all the information needed to schedule this meeting?
-TODO
### Internal meeting scheduling
Fleet uses the Zoom add-on for Google Calendar to schedule meetings (exceptions are customers that are non-negotiably required to use a different tool) when we [create calendar events](https://support.google.com/calendar/answer/72143?hl=en&ref_topic=10510646&sjid=7187599067132459840-NA#zippy=%2Cclick-an-empty-time-in-your-calendar).
Our Zoom meetings are configured to let participants join before the host arrives, to make sure meetings start on time even if the host isn't there.
To schedule a meeting within Fleet:
- To add a Zoom meeting to a calendar event, click the "Add video conferencing" dropdown and select "Zoom Meeting." Google Calendar will automatically add the Zoom meeting details and instructions to join the event.
- Enter the `@fleetdm.com` emails for each participant into the "Add guests" box in Google Calendar, and the calendar availability for each participant will appear in your view.
- Select a meeting time, the participants will automatically be invited and a video conference will be attached to the invite (this can save a lot of communication overhead when scheduling with multiple participants).
It is important to [set your workinghours](https://support.google.com/calendar/answer/7638168?hl=en&co=GENIE.Platform%3DDesktop) in Google Calendar and block out any personal time/events/PTO, so that team members do not inadvertently schedule a time when you are not available.
- Many team members use the free tier of [reclaim.ai](https://reclaim.ai/) to synchronize personal event times (without event details) into their work calendars.
It is also common practice to block out time for focused work.
### Modifying an event organized by someone else
To edit an event where someone else at Fleet is the organizer, you can first subscribe to their calendar in Google Calendar and then edit the event on their calendar. Your edits will automatically apply to all attendees.
This works because every Fleetie grants edit access to everyone else at Fleet as part of onboarding.
### External meeting scheduling
When scheduling external meetings, provide external participants with a
[Calendly](https://calendly.com) link to schedule with the relevant internal participants. If you
need a Calendly account, reach out to `mikermcneil` via Slack.
## Email relays
There are several special email addresses that automatically relay messages to the appropriate people at Fleet. Each email address meets a minimum response time ("Min RT"), expressed in business hours/days, and has a dedicated, directly responsible individual (DRI) who is responsible for reading and replying to emails sent to that address. You can see a list of those email addresses in ["Contacting Fleet" (private Google doc)](https://docs.google.com/document/d/1tE-NpNfw1icmU2MjYuBRib0VWBPVAdmq4NiCrpuI0F0/edit#).
## Github
### GitHub labels
We use special characters to define different types of GitHub labels. By combining labels, we
organize and categorize GitHub issues. This reduces the total number of labels required while
maintaining an expressive labeling system. For example, instead of a label called
`platform-dev-backend`, we use `#platform :dev ~backend`.
| Special character | Label type | Examples |
|:------------------|:------------|:------------------------------------|
| `#` | Noun | `#platform`, `#interface`, `#agent`
| `:` | Verb | `:dev`, `:research`, `:design`
| `~` | Adjective | `~blocked`, `~frontend`, `~backend`
## Zoom
We use [Zoom](https://zoom.us) for virtual meetings at Fleet, and it is important that every team member feels comfortable hosting, joining, and scheduling Zoom meetings.
By default, Zoom settings are the same for all Fleet team members, but you can change your personal settings on your [profile settings](https://zoom.us/profile/setting) page.
Settings that have a lock icon next to them have been locked by an administrator and cannot be changed. Zoom administrators can change settings for all team members on the [account settings page](https://zoom.us/account/setting) or for individual accounts on the [user management page](https://zoom.us/account/user#/).
## Slack
At Fleet, we do not send internal emails to each other. Instead, we prefer to use [Slack](https://www.linkedin.com/pulse/remote-work-how-set-boundaries-when-office-your-house-lora-vaughn/) to communicate with other folks who work at Fleet.
We use threads in Slack as much as possible. Threads help limit noise for other people following the channel and reduce notification overload.
We configure our [working hours in Slack](https://slack.com/help/articles/360025054173-Set-up-Slack-for-work-hours-) to make sure everyone knows when they can get in touch with others.
### Slack channel prefixes
We have specific channels for various topics, but we also have more general channels for the teams at Fleet.
We use these prefixes to organize the Fleet Slack:
* ***g-***: for team/group channels *(Note: "g-" is short for "grupo" or "group")*.
* ***oooh-***: used to discuss and share interesting information about a topic.
* ***help-***: for asking for help on specific topics.
* ***at*** or ***fleet-at***: for customer channels.
* ***2023-***: for temporary channels _(Note: specify the relevant year in four digits, like "YYYY-`)_
#### Slack communications and best practices
In consideration of our team, Fleet avoids using global tags in channels (i.e. @here, @channel, etc).
1. What about polls? Good question, Fleeties are asked to post their poll in the channel and @mention the teammates they would like to hear from.
2. Why does this matter? Great question! The Fleet [culture](https://fleetdm.com/handbook/company#culture) is pretty simple: think of others, and remember the company [Values](https://fleetdm.com/handbook/company#values).
## Levels of confidentiality
- *Public* _(share with anyone, anywhere in the world)_
- *Confidential* _(share only with team members who've signed an NDA, consulting agreement, or employment agreement)_
- *Classified* _(share only with founders of Fleet, business operations, and/or the people involved. e.g., US social security numbers during hiring)_
<meta name="maintainedBy" value="mikermcneil">
<meta name="title" value="📡 Communication">