How to Manage Remote Developers: Time, Velocity and Days Off

Four simple things to get right so you know what your remote team is doing, how fast it moves, who is available and when you can talk.


# Quick answer

To manage remote developers well, you need to get four things right:

  1. What they worked on. Either track hours with a short log of tasks, or skip hour tracking and ask for a short report at the end of each day.
  2. How fast they deliver. Measure velocity - either stick to storypoints in Jira so you can see burndown charts by the end of the sprint or measure typical amount of tasks that dev sort out during the sprint.
  3. Who is available. Record vacations and sick leave in your CRM, so sprint planning reflects who will actually be working.
  4. When you can talk. Agree on a 3–4 hour overlap each day for news, new tasks and questions. Everything else happens asynchronously.

None of this takes much of a manager's time, and it removes most of the guesswork of working with a remote team.

01 What they worked on Task log or daily report 02 How fast they deliver Story points per sprint 03 Who is available Days off in the CRM 04 When you can talk A 3–4h daily overlap
Four questions, each with a simple answer that takes little of a manager's time.

# 1. Measuring time: track hours or not?

Time tracking always comes down to micromanagement. The question is how much control you need and how much your developers will put up with.

⏱ Track hours 📝 Don't track hours
Best for Hourly contracts, agencies, new teams, client billing Fixed monthly contracts, senior teams, long-term partners
Pros You see exactly where the budget goes. Easy to bill clients. Spots overruns early. More trust, less admin. Developers focus on results, not the timer.
Cons Feels like micromanagement. Encourages "filling hours". Hours ≠ output. Less visibility into effort. Problems show up later.
What you ask for Task + hours log Daily end-of-day report
Do you pay or bill by the hour? Yes No Track hours Log the task next to every block of time Daily end-of-day report ~90% of the visibility with much less friction
One question decides it: are hours what you pay for or bill?

# If you track time: tasks and hours

Hours on their own tell you nothing. "8 hours" could mean a finished feature or a day stuck on a bug. Ask developers to note the task next to every block of time.

Date Task Hours Note
Oct 14 PROJ-212 Stripe webhook handling 4.5 Done, in review
Oct 14 PROJ-218 Fix slow orders report 2.0 Added index, 8s → 0.4s
Oct 14 Code review + team call 1.5 –

Jira, Toggl, Harvest or Clockify all work. Choose the tool that links time to a ticket, so you can later compare estimates with actual hours.

# If you don't track time: a daily report

Ask for a short report by the end of each working day. Keep it to a list of task → status. It should take under five minutes to write.

Daily report – Oct 14

PROJ-212  Stripe webhook handling      ✅ Done, in review
PROJ-218  Slow orders report           ✅ Done, deployed to staging
PROJ-221  Invoice PDF redesign         🔄 In progress (~60%)
PROJ-224  CSV export for admins        ⛔ Blocked: waiting for field list from client

Tomorrow: finish PROJ-221, start PROJ-224 if unblocked

A Slack channel, a Jira comment or an email is enough. What matters is that it arrives every day and that someone reads it. Blockers are the most useful line in the report, so act on them.

💡 Rule of thumb: track hours when you pay by the hour or bill a client by the hour. Otherwise, a daily report gives you about 90% of the visibility with much less friction.


# 2. Development velocity

Hours and reports tell you what developers are doing. Velocity tells you how much gets done.

# Measure velocity in story points

In Jira, estimate tasks in story points and look at how many points the team completes each sprint. Jira's Velocity Chart (in Scrum boards, under Reports) shows this automatically.

Baseline: ~33 points per sprint <title>Sprint 1: 28 story points completed</title>28Sprint 1 <title>Sprint 2: 32 story points completed</title>32Sprint 2 <title>Sprint 3: 34 story points completed</title>34Sprint 3 <title>Sprint 4: 33 story points completed</title>33Sprint 4 <title>Next sprint: planning 50 points is far above the baseline</title>50Don't plan
After a few sprints velocity settles. Plan the next sprint from the baseline, not from hope.

After 3–4 sprints, velocity usually settles. That number is your baseline for planning: if the team averages ~33 points, don't plan 50.

# AI has changed velocity, but not on every task

Since AI coding tools went mainstream, some tasks have become much faster and others have barely changed. Old estimates and "industry averages" no longer hold, so you need to measure your own team.

Usually faster with AI Speed roughly the same
CRUD screens, forms, admin panels Architecture and system design
Boilerplate, migrations, API clients Complex business logic
Unit tests, refactoring, documentation Debugging production issues
Converting code between formats/frameworks Integrations with poorly documented third-party systems
Standard framework features (auth, queues, mail) Requirements that are unclear or change often

# How to set your baseline

  1. Start with a trial period. Work with the developer for a few sprints before you draw conclusions.
  2. Pick typical tasks. Choose the kind of work your project does most often: a new API endpoint, a new admin screen, a bug fix.
  3. Record story points for each one. Later you can pick your "golden stories" per amount of SP.
  4. Compare by task type, not just in total. A developer who uses AI well may finish CRUD work twice as fast and complex logic at the usual pace. Both numbers are useful.
  5. Review every few sprints. As tools and the team improve, the baseline changes.

# Watch out for

  • Point inflation. If velocity keeps rising but the product doesn't move faster, the estimates are growing. Compare against finished features, not just points.
  • Speed at the expense of quality. AI-generated code still needs lots review. Track bugs and reopened tickets alongside velocity.
  • Comparing developers by points. Story points are relative to each team. Use them to plan, not to rank people.

# 3. Track vacations and sick leave in your CRM

With a remote team, you won't notice that someone is away just by walking past their desk. Every day off should be in one place, and your CRM is the natural place for it.

# What to record

Field Example
Developer Oleksandr K.
Type Vacation / Sick leave / Public holiday / Unpaid day off
Dates Nov 3 – Nov 7
Status Requested / Approved
Backup person Maria S.
Note Handover of PROJ-221 done

# Why it matters

  • Sprint planning reflects real capacity. If one of four developers is on vacation for a week, plan about 25% fewer points for that sprint.
  • No surprises before a release. You can see who is away well before a deadline.
  • Clients and stakeholders get honest timelines.
  • Patterns become visible. Frequent sick days can be a sign of burnout, not just bad luck.
Sprint capacity, story points Full team4 developers Dev 1 Dev 2 Dev 3 Dev 4 ~33 ptsbaseline Vacation week3 of 4 working Dev 1 Dev 2 Dev 3 Vacation ~25 pts−25%
One developer out of four on vacation means about a quarter less work in that sprint.

# Simple rules that work

  • Vacation requests at least 2 weeks in advance, longer for anything over a week.
  • Sick leave reported in the morning, before the daily stand-up.
  • Local public holidays added at the start of the year, for every country your team works from.
  • A handover note before any vacation longer than two days.
  • Everyone can see the calendar. Most CRMs and HR tools (HubSpot, Bitrix24, Zoho, BambooHR, Personio) support a shared calendar or a Jira/Google Calendar integration.

# 4. Time zones: a 3–4 hour overlap is enough

You don't need a full working day in common with your team. 3–4 hours of overlap a day is enough to talk through news, hand out tasks and answer questions. The rest of the day is for focused work, and developers get more done when they aren't in calls.

# What the overlap is for

Use the overlap for Keep out of the overlap
Daily stand-up: news, progress, blockers Long coding sessions (that's what the rest of the day is for)
Assigning new tasks and clarifying requirements Status updates that could be a message
Quick calls to unblock someone Reading reports and reviewing code (do it async)
Sprint planning, demos, retros

# Example schedules

Your team You Overlap How the day works
🇺🇦 Kyiv 🇬🇧 London ~7h Plenty of time. Keep meetings to the morning and leave the afternoon for work.
🇺🇦 Kyiv 🇺🇸 New York ~4h Developers work 11:00–20:00 Kyiv. 9:00–13:00 ET together: stand-up at 9:00, questions until 13:00.
🇺🇦 Kyiv 🇺🇸 Chicago ~3h Stand-up and planning at 9:00 CT. Afternoon is async.
4h overlap Kyiv developers New York you 11:00 developers work alone 16:00–20:00 9:00–13:00 you work alone 17:00 stand-up · new tasks · questions
New York and Kyiv are 7 hours apart; shifting the developers' day to 11:00–20:00 gives 4 shared hours.

# Rules that make it work

  • Fix the overlap window and put it in everyone's calendar. Stand-ups and calls happen only inside it.
  • Write tasks so they can be done without you. Clear acceptance criteria, links, screenshots. If a developer has to wait 6 hours for an answer, the task wasn't ready.
  • End-of-day report before the overlap ends (see section 1), so blockers come up while you can still answer.
  • Agree on response times. For example: within 1 hour during the overlap, by the next overlap otherwise.
  • Prefer written and recorded updates outside the overlap: Slack threads, Jira comments, short Loom videos.
  • Watch the clock changes. The US and Europe switch to and from daylight saving time on different dates, so for 2–3 weeks in March and in October/November the overlap moves by an hour. Check your meeting times then.

# Checklist for managing remote developers

  • Decide: hourly tracking with task notes, or a daily end-of-day report
  • Estimate tasks in story points in Jira
  • Run a trial period and set a velocity baseline on typical tasks
  • Review velocity by task type, taking AI-assisted work into account
  • Track bugs and reopened tickets alongside velocity
  • Record vacations, sick leave and holidays in your CRM
  • Plan each sprint's capacity after checking days off
  • Agree on a 3–4 hour daily overlap and keep meetings inside it
  • Write tasks clearly enough to be done asynchronously
Denys Koronets
// about the author

Senior PHP / Node.js developer with 12+ years of building and scaling web products with Laravel, Symfony, Node.js and modern frontends. I work with clients in Europe and North America, on my own or with a team I put together.

// looking for a team

Need a team?

I can put together a remote PHP/JS team for you, from a single senior developer to a full team with a tech lead.

  • Selected for your project: Middle and Senior Laravel developers, plus Vue/React, QA and DevOps if you need them
  • Daily reports or hour logs, whichever you prefer
  • Sprints in Jira with transparent velocity
  • 3–4 hours of overlap with your time zone, in Europe or North America
  • Days off planned in advance, with a backup for every developer
  • 35–65% lower cost than hiring in Western Europe or North America, on a simple B2B contract
// hire me

Need a developer / Team Lead / CTO?

Hire me directly: I join your existing project or build a new one from scratch.

  • Laravel, Symfony, Node.js, Vue / Angular, AWS
  • Architecture, code reviews and releases, or a tech lead for your team
  • B2B contract, usually signed within a week