Tag: meetings

  • The 25-minute meeting

    The 25-minute meeting

    Six weeks ago we changed the default meeting length in Google Calendar from 30 minutes to 25. Nobody voted on it. Our head of ops flipped the setting on a Tuesday and sent a two-line note in Slack. We expected complaints. We got three, all in the first week, all from the same person.

    What those five minutes were doing

    We tracked what happened in the last five minutes of our standing 30-minute meetings for two weeks before the change. Someone volunteered to note the pattern at the end of every call they joined. The log lived in a Notion page called “tail time.” Here is what filled that window, ranked by frequency:

    • Small talk about weekend plans or a Netflix show, roughly 40% of the time.
    • Someone re-explaining a decision that had already been made, 25%.
    • Waiting for a person to find the right Figma link or Linear ticket, 20%.
    • Actual new work, 15%.

    The contrarian read: those minutes were not a buffer for depth. They were a tax on focus, paid so nobody had to end a call early and feel awkward about it.

    What we replaced it with

    Every recurring meeting now ends with a two-line summary posted in the meeting’s Slack thread within ten minutes. Line one is the decision. Line two is the owner and the date. No preamble, no thank-yous.

    Decision: ship the billing migration behind a flag on Nov 18. Owner: Priya, checkpoint Nov 15.

    The wrap-up ritual moved from voice to text, and the small talk moved to the first two minutes of the next call, where it belongs and where late joiners do not miss it.

    What we noticed after a month

    Our engineering weekly used to run 30 minutes and consistently ended at 32. It now runs 25 and ends at 24. The Monday product review, historically our worst offender, dropped from 60 to 50. We booked 14% fewer follow-up meetings across the org in October, measured against September’s baseline, because the Slack summaries closed the loop that the tail time used to leave open.

    The uncomfortable part: nobody misses the five minutes. We thought people would grieve the small talk. They did not. They grieved the recap, which is a different problem, and the two-line summary solved it in writing.

    If you want to try it, do not announce a policy. Change the default, post one summary after your next meeting, and see who copies you by Friday.

  • Async by default is not silent

    Async by default is not silent

    We work async by default at Velo. That phrase gets thrown around a lot, and it tends to mean whatever the person saying it wants it to mean. For us, it has a narrow definition: writing is the medium, and meetings are the exception. If a decision can live in a document, it lives in a document. If a status can be read in Linear, it does not need a standup.

    The trap most async teams fall into is treating async as a synonym for quiet. A silent async team is a team that has stopped talking. Ours has not stopped talking. It writes constantly, and it meets on purpose, twice a week.

    Two synchronous windows, on purpose

    Tuesday morning we run a 45 minute product review. Everyone who touched a shipping surface that week walks through the change in Figma or a Linear ticket. We pick the calls we could not have made in writing: tradeoffs where three people disagree, prototypes that need a room to react to them, hires we are debating. The agenda goes into Notion by Monday at 5pm. If you cannot get your item on the agenda, it waits a week.

    Thursday afternoon is engineering pairing. Two rotating pairs sit together (video on, screens shared, sometimes a live VS Code session) and knock out something gnarly: an on-call runbook, a Datadog alert that keeps false-positiving, a migration nobody wants to own alone. We rotate the pairs so the same two senior engineers do not always end up together.

    That is it. Two calendar blocks a week. The rest of the time runs on Notion docs, GitHub PR comments, and Slack threads that expect a reply within 24 hours, not 24 minutes.

    What breaks when you go async

    Here is the part nobody warns you about. Async does not break shipping. It does not break planning. It does not even break onboarding, if you write your docs well. What it breaks is the thing you cannot see on a dashboard: weak ties.

    Weak ties are the relationships you have with people you do not work with directly. The designer on the growth team you would have chatted to at the coffee machine. The infra engineer whose PRs you review once a quarter. The new hire in a different timezone whose face you would recognize but whose voice you have never heard.

    In an office, weak ties get maintained for free. You bump into each other, you overhear a joke, you end up in the same lunch line. In a fully async company, if you do nothing, weak ties wither. And when they wither, three things go wrong:

    • Cross team collaboration gets more expensive because trust is not pre-loaded.
    • People feel lonely, and they leave, and the exit interview says “culture” and you never figure out what that meant.
    • Good ideas from the edges of the company stop reaching the center. The designer who spotted a pattern in support tickets does not think to mention it to the PM she has never met.

    We tried ignoring this for about seven months. Then we noticed that our internal survey score on “I feel connected to people outside my team” had dropped from 8.1 to 5.4. We stopped ignoring it.

    The coffee lottery

    Every Monday at 9am UTC, a Slack bot we wrote (three hours of GitHub Actions and Python, nothing fancy) picks pairs of people at random and pings them both. The message is short: You have been matched for coffee this week. Book 30 minutes together whenever works. No agenda. Talk about anything. If you would rather skip, react with a wave and we will re-roll.

    A few design choices we made deliberately:

    1. Opt out, not opt in. Everyone is in the pool by default. If you skip three weeks in a row, you get quietly removed until you rejoin. Opt-in versions of this die because the people who most need weak ties are the least likely to raise their hand.
    2. No agenda, ever. The moment we add “discuss one work topic” it becomes another meeting. The point is that it is not a meeting.
    3. Cross team weighting. The bot deprioritizes pairs who are on the same squad or who have already been matched in the last 90 days. You are more likely to meet someone you would never otherwise talk to.
    4. 30 minutes, not 60. Short enough that nobody dreads it. Long enough to get past small talk.

    Attendance sits around 70% most weeks. We are fine with that number. The 30% who skip are not failing anyone; they are managing their week. The 70% who show up are keeping the network alive on behalf of everyone else.

    Async by default does not mean silent. It means the loud things are chosen.

    What we would tell a team about to go async

    Pick your synchronous windows before you cut everything else. Ours are Tuesday product review and Thursday engineering pairing. Yours will be different. What matters is that they are deliberate, load bearing, and small in number.

    Then, separately, budget for weak ties. Do not assume they will happen on their own. They will not. A coffee lottery is one option. Team offsites are another. A shared reading channel where people react with real thoughts, not emoji, is a third. Pick one and defend it.

    The teams we watch fail at async are not the ones who forget to write docs. They are the ones who forget that a company is a network of people who like each other enough to help each other on a Tuesday when they did not have to.

  • What happened when we replaced standup with a doc

    What happened when we replaced standup with a doc

    The reason we cancelled the 9:15

    Our morning standup ran for eleven months before we killed it. Fifteen minutes on paper, twenty-two in practice, five people on video, one person still chewing toast. We tracked the cost for a quiet month: eleven engineers, four days a week, roughly nine hours of collective time each week vaporized into “yesterday I worked on the invoice bug, today I will keep working on the invoice bug.”

    The trigger was Linear. We had migrated our ticket board over from Jira, and the state of every ticket was suddenly legible without a human reading it aloud. Whatever the standup had been for, it was no longer for status.

    We wrote a shared Notion page called Daily. Each morning, before 10:00, you posted three lines: what shipped, what you are on, what is blocking you. That was the whole ritual. No meeting.

    Week one and two: something went wrong

    The first Monday felt like a small miracle. Everyone got the extra half hour, the doc filled up by 09:47, and we all stayed at our desks. By Thursday, two things were off.

    The doc was thinner than we expected. People wrote “same as yesterday” or copied their previous line and edited the date. The prose that had felt lively when spoken went dead when typed. Morale dipped too, in a way we did not predict. Not a crash, more like the room got quieter. Our head of design put it best in the retro:

    I did not realize how much of my sense of the team came from watching Priya groan about her PR review queue and Marcus talk about his kid’s soccer game. The doc has none of that. It reads like a receipt.

    Slack traffic went up during those two weeks, in a way that surprised us. Random channels filled with the small talk that had been living, uninvited, inside standup. We had removed the container without moving the contents anywhere. The contents leaked.

    The other loss was harder to measure. In standup, someone would say a sentence and someone else would say “wait, back up,” and a small course correction would happen in ninety seconds. In the doc, that same correction became a threaded Slack conversation that took two hours and ended with “let’s hop on a quick call.” We had traded one meeting for many smaller ones.

    Week three onward: the writing got serious

    Around the third week, the doc improved. A few things changed at once:

    • The team stopped treating the entry as a chore and started treating it as a note to a colleague. Entries got longer, more specific, funnier.
    • Blockers became first class. If you wrote “blocked on the Stripe webhook signature bug,” someone unrelated would read it over coffee and drop a link to the fix.
    • Async engineers in Lisbon and Toronto stopped feeling like second tier attendees. Their entries carried the same weight as the ones written in the London office.

    The deeper win was the writing itself. Engineers who had been quiet in meetings wrote sharp, thoughtful updates. One of them told us she had spent every standup rehearsing her sentence and missing what other people said. The doc gave her back that attention. Our design docs improved in the same period. We are not sure the two are causally linked, but it felt like a muscle getting more reps.

    The Wednesday sync, and why it stayed

    We tried holding out on the meeting free plan for a full month. It did not last. By week five we had put one meeting back on the calendar: a thirty minute sync on Wednesday at 10:00, camera on, no agenda beyond “how is the week going.” We call it Wednesday. That is the whole name.

    Wednesday is not a status meeting. If you tried to give a status update in it, someone would gently redirect you to the doc. It is where the soccer game goes, where the “I hate this ticket” goes, where the “I think we should reconsider the pricing page rewrite” goes. It has run for fourteen months now and we have cancelled it twice, both times for a company offsite.

    The compromise on paper:

    1. Monday through Friday: the Daily doc, posted by 10:00.
    2. Wednesday at 10:00: the thirty minute human sync.
    3. Friday afternoon: a short written retro in the same Notion space, three prompts, no meeting.

    Time saved per engineer, measured against the old standup, is roughly six hours a month. That number is real. What is less measurable, and what we think matters more, is that our written record of what happened each week is now searchable. When a new hire joins, we point them at three months of Daily entries and they get context that used to live only in people’s heads.

    What we would tell a team about to try this

    Two things. First, the social contract of standup is doing work you cannot see. If you remove the meeting without replacing the social part, the team will feel it within a week and blame the doc. Put the social part somewhere on purpose. Second, the doc will be bad for two weeks. Do not judge it before then. The writing muscle needs reps, and the first entries will read like receipts because the team is still thinking in bullet points from the meeting they no longer have.

    This setup would not work for a sales team, or a team spread across more than three time zones, or a team that responds to Datadog pages every hour. It works for eleven engineers and four designers who write for a living anyway. Your mileage will vary. Ours has not, in a year and change.