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:
- 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.
- 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.
- Who is available. Record vacations and sick leave in your CRM, so sprint planning reflects who will actually be working.
- 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.
# 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 |
# 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.
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
- Start with a trial period. Work with the developer for a few sprints before you draw conclusions.
- Pick typical tasks. Choose the kind of work your project does most often: a new API endpoint, a new admin screen, a bug fix.
- Record story points for each one. Later you can pick your "golden stories" per amount of SP.
- 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.
- 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.
# 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. |
# 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
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
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