Scenarios: delays, estimates, and deadlines
Time is where engineers sound the least honest, usually by accident: a slip gets buried, an estimate hardens into a promise, a blocker sits quiet for two days. This chapter is a dense bank of real exchanges about slips, missed dates, forgotten tasks, extensions, and honest estimates, shown from both chairs so you can look up the line you need. Each one keeps the same move: soften the person, sharpen the substance, and always leave a specific next step or fact on the table.
You are not prepared to present
- Demo in ten minutes, nothing works. Q: "Are we good for the demo?" A: "The happy path works; the payments step still 500s. I will demo checkout end to end and show payments as a recorded clip instead of live."
- Manager asks you to present cold. Q: "Can you walk the room through the migration plan now?" A: "I would rather not wing the numbers. Give me until 2pm and I will have a one-pager with the cutover steps and rollback."
- Slides not done the night before. Q: "Deck ready for tomorrow?" A: "Skeleton is there, three slides still need the latency charts. I will have it final by 9am and send it before the meeting."
- You realize mid-standup you are up next. Q: "Want to share the search rework?" A: "Let me take that Thursday instead. I want to show the p99 before and after, and the after run finishes tonight."
- Reviewer chair: someone is clearly unprepared. Q: (they stall through their slides) A: "Let's park this and pick it up when the benchmark is in. Can you send results Friday and we will do a focused fifteen minutes?"
- Asked for a status you have not gathered. Q: "Give us the exec summary on the outage work." A: "I have not pulled the timeline together yet. Headline now: root cause found, fix in review. Full writeup by end of day."
- Reviewer chair: colleague offers to reschedule. Q: "This is rough, can I show it next week?" A: "Yes, take the week. Rough is fine with me though, so if a fifteen-minute early read would help you steer, I am happy to do that instead."
- Manager chair: a report shows up unready. Q: "I didn't get to finish the slides." A: "That is okay. Show me the numbers you do have and skip the polish; I care about the trend, not the formatting."
Your task is delayed
- Feature slipping past the sprint. Q: "Still landing the export by Friday?" A: "No. The CSV encoding needs a rewrite of the streaming layer. Realistic date is Wednesday. Nothing else in the sprint is affected."
- Manager pings mid-week. Q: "How's the auth refactor tracking?" A: "Behind by about two days. The token rotation edge cases are more than I scoped. I will send a firm date by end of day."
- Someone asks in Slack, publicly. Q: "Is the dashboard going out today?" A: "It is not. The staging deploy failed on a missing migration and I am fixing it now. New target is tomorrow morning; I will update this thread."
- PM chair: chasing a quiet ticket. Q: "This ticket has been in progress five days, what's happening?" A: "Fair question. It stalled on a flaky integration test I could not reproduce; I found it this morning. Two more days and it is done."
- Dependency slipped and took you with it. Q: "Why is your part late too?" A: "The vendor API contract landed three days behind, so I could not start integration until Monday. From that point I am on track for Thursday."
- Standup, third day of the same task. Q: "Same item again?" A: "Yes, and I want to flag that it is bigger than it looked. The tree is nested three levels deep. Firm estimate by lunch instead of guessing again."
- You need to reset a stakeholder's clock. Q: "You said this week originally." A: "I did, and I was wrong on the scope. Revised plan: core flow Wednesday, edge cases Friday. I will not move it again without telling you first."
- Reviewer chair: a colleague's PR is stuck. Q: (their PR sits at 40 unresolved comments) A: "This is a lot for one pass. Want to split it? Land the parser now, do caching in a follow-up so you unblock the release."
- Small slip, not worth a meeting. Q: "Config change done?" A: "Slipping to tomorrow, minor. The linter caught a schema mismatch I want to fix cleanly rather than patch. No downstream impact."
- Teams message from another team lead. Q: "We're waiting on your endpoint to test." A: "Sorry to hold you. It is a day late; the rate limiter needed rework. I can give you a stub against the contract this afternoon so you are not blocked."
- Manager chair: an engineer flags a slip. Q: "The importer is going to be three days late." A: "Thanks for the early flag. Does anything downstream depend on the original date that I should go warn?"
- Reviewer chair: reassuring on a slip. Q: "I'm behind and I feel bad about it." A: "One slip with a clear reason is fine. Send me the new date and what you hit, and we move on."
You underestimated the work
- Two-hour task hit day two. Q: "Wasn't this a quick one?" A: "I thought so. The 'simple' rename touches 60 call sites and two public APIs. I underestimated it; give me until tomorrow and I will do it properly."
- Manager notices the burn. Q: "This was pointed a 3, why the churn?" A: "I under-pointed it. The retry logic interacts with the idempotency keys in ways I did not see. It is really an 8. Want me to re-estimate the rest?"
- Owning it in retro. Q: "What made this slip?" A: "I estimated from the happy path and ignored the migration and the backfill. Next time I will size the data cleanup separately before committing to a date."
- Reviewer chair: catching an under-scope early. Q: (they size the cache work at one day) A: "One day feels light once you count invalidation and warmup. Have you sized those? I would pad it to three before we commit."
- Halfway in, it is clearly bigger. Q: "Progress on the SSO work?" A: "Honest read: I sized this at a week and it is closer to two. The IdP metadata handling alone is a project. Can we talk about cutting scope or moving the date?"
- Someone asks why the number moved. Q: "Estimate doubled overnight?" A: "Yes. Once I read the legacy code I found two undocumented behaviors we have to preserve. Better you hear it now than on Friday."
- Owning it to a peer, casually. Q: "Thought you'd be done by now." A: "Ha, so did I. Classic under-estimate; the error handling was the real work. Should wrap tomorrow."
- Manager chair: an estimate blows up mid-flight. Q: "This 3-pointer is really an 8." A: "Good that you caught it now. Is there a smaller cut that still ships this sprint, or does the whole thing move?"
- Peer chair: sanity-checking a teammate. Q: "Two hours for the rename, right?" A: "It touches a lot of call sites; I would budget a day. Want me to grep the usages so you size it real?"
You were blocked and did not flag it early
- Manager finds out days later. Q: "You've been blocked since Monday and I'm hearing it now?" A: "That is on me, I should have raised it Monday. I am waiting on the DB access grant. Can you help me chase it? I lost three days I should have escalated."
- Standup confession. Q: "Anything blocking you?" A: "Yes, and I sat on it too long. I need staging credentials from the platform team. Opening a ticket now and tagging them; flagging so nobody assumes I am moving."
- Peer asks why you went quiet. Q: "You went dark on the integration." A: "I was stuck on the CORS config and kept thinking I was one fix away. I should have asked Tuesday. Got ten minutes to look with me?"
- Reviewer chair: someone hid a blocker. Q: (they mention a two-day-old blocker in passing) A: "Flag those the day they happen, not at standup. Ping me the moment you are stuck on access; I can usually clear it in an hour."
- Explaining the lost time honestly. Q: "Where did the week go?" A: "Half of it was a blocker I did not escalate: the vault service kept rejecting my token. I own the delay. New rule for myself: blocked more than half a day means I raise it."
- Boss offers cover, you take it. Q: "Why didn't you tell me sooner?" A: "I thought I could solve it myself and I could not. Fair lesson. Right now I need you to nudge the vendor on the API key; that is the only thing holding me."
- Catching yourself before it repeats. Q: "Still waiting on the review?" A: "Yes, two days now, and I am flagging it before it becomes a week. The auth PR needs a second approver. Can you review, or point me to someone who can?"
- Manager chair: unblocking access. Q: "I'm stuck on the DB grant." A: "On it, I will ping the platform lead now. In future ping me the same day; there is no penalty for raising a block."
- Reviewer chair: normalizing early flags. Q: "Was I too quick to escalate this?" A: "Not at all. Early flags with what you already tried are exactly what I want. Escalating fast is a skill, not a weakness."
You missed a deadline
- The date passed, no message sent yet. Q: "The report was due yesterday." A: "I missed it and I should have told you before the date, not after. It is 80 percent done; you will have it by noon today. Sorry for the scramble."
- Manager is annoyed, fairly. Q: "This was committed for the release and it's not in." A: "Understood, that is a real miss. The fix is in review now. I can hotfix tonight or hold for next week's train; your call on the risk."
- Owning it without a pile of excuses. Q: "What happened to Friday?" A: "I missed it. Short version: I underestimated the test surface. Useful part: it is done now, and here is what I will change so the next date holds."
- Reviewer chair: a teammate blew a date. Q: (their milestone came and went) A: "It happens. What I need is a new date I can trust and what you need to hit it. Do you have both?"
- Customer-facing miss. Q: "You told the client end of month." A: "I did, and we will be a week over. Better we tell them today with a firm new date than let them notice. I drafted the note; want to review it?"
- Missed a compliance deadline. Q: "The audit fix was due and it's flagged red." A: "Yes, red is correct. Remediation is running and clears by Wednesday. I am documenting why it slipped so we do not repeat it at the next audit."
- Repeated miss, second time. Q: "This is the second date you've moved." A: "It is, and I get why that erodes trust. This time the risky parts are already done: Thursday, and the migration is already tested."
- Quiet Slack acknowledgment. Q: "Ping, deadline was 5pm." A: "Missed it, my fault. Merging within the hour. I will post here the second it lands so you are not waiting on me."
- Manager chair: taking a miss calmly. Q: "I missed the date, the report isn't done." A: "Okay. Give me a new date you are confident in and I will reset the people downstream. What is the risk to it?"
- Reviewer chair: a miss hit your work. Q: "Sorry my slip pushed your timeline." A: "Appreciated. It cost me a day but it is manageable. Let's just make sure the new date is one we both believe."
You forgot an assigned task
- It fell off your list entirely. Q: "Did you ever action the ticket from last week?" A: "Honestly, no, it dropped off my radar. Thanks for catching it. I will do it first thing tomorrow and put it on the board so it does not slip again."
- Manager asks about a side request. Q: "Where are we on that vendor form?" A: "That one I forgot, my mistake. It is a fifteen-minute job; I will have it back to you within the hour."
- Reviewer chair: nudging a forgotten action. Q: (an action item from two standups ago never moved) A: "No stress, want me to re-assign it or is it still yours? If yours, can we put a date on it so it stops floating?"
- Forgot to loop in another team. Q: "Did you tell the data team like we agreed?" A: "I did not, that slipped. Sending them a note now with the schema and cc'ing you so you can see it went out."
- Caught in a thread you missed. Q: "You were going to reply to this two days ago." A: "You are right, sorry, it got buried under the incident. Replying properly in the next ten minutes."
- Honest, no defensiveness. Q: "The doc update never happened." A: "Yep, forgot it. Adding it to my task list now with a reminder so it is not on your memory to chase. Done by Thursday."
- Manager chair: a task was forgotten. Q: "I completely forgot the vendor form." A: "No drama, it happens. Get it done today, and let's ticket the small ones so neither of us relies on memory."
Asking for an extension
- Straight ask with a reason. Q: "Can this land Friday as planned?" A: "I need until Tuesday. The load test surfaced a connection-pool leak I want to fix before shipping, not after. Everything else is ready."
- Extension with a trade offered. Q: "We really need it this week." A: "I can hit Friday if I drop the admin UI to a fast-follow, or deliver everything by Wednesday next week. Which do you prefer?"
- Manager chair: granting one well. Q: "I need three more days on the search index." A: "Fine, take them. What changed, so I can adjust the roadmap and warn the stakeholders once?"
- Asking early, not at the wire. Q: (four days before the date) A: "Flagging early: I think I need two extra days on the billing job. The proration math has more cases than we scoped. Easier to move it now than Thursday night."
- Extension because of an interruption. Q: "You had a week for this." A: "I did, and two days went to the prod incident on Tuesday. I need until Wednesday to make that up. The work itself is on track."
- Small, low-drama ask. Q: "Docs done today?" A: "Can I have until tomorrow morning? I want a second engineer to read the runbook before it is official. One night, real quality gain."
- Refusing to over-promise on the ask. Q: "Can you at least get it mostly done by Friday?" A: "I would rather not hand you something half-wired. Give me Monday and it is tested and complete. That is a date I can stand behind."
- Manager chair: weighing an extension request. Q: "Can I have until Monday?" A: "Monday works if the export still lands Friday. If it does not, tell me now and we will renegotiate scope instead."
- Manager chair: declining an extension gently. Q: "I need three more days." A: "The date is hard on my end, so let's not move it. What can we cut so the core still lands on time?"
Estimating with insufficient information
- Asked for a number on the spot. Q: "Ballpark, how long for the notifications feature?" A: "With what I know now, one to three weeks. The spread is the channel: SMS is a day, a new push provider is two weeks. I can tighten it after a half-day spike."
- Refusing to guess blind. Q: "Just give me a date." A: "I can give you a real date after I read the legacy payments code. A guess now would be fiction. Give me until tomorrow and it will be a number you can plan around."
- Manager chair: pushing for false precision. Q: (dev gives a range) A: "The range is fine, I would rather have an honest range than a fake point. What would narrow it, a spike?"
- Offering a spike instead of an estimate. Q: "How big is the Elasticsearch upgrade?" A: "Unknown until I test the breaking changes. Let me timebox a two-day spike, then I estimate the full migration with real numbers."
- Estimating with named assumptions. Q: "Rough sizing on the mobile sync?" A: "Call it two weeks, assuming the API is already paginated and we are not doing offline conflict resolution. If either is false, it grows. Want me to confirm those first?"
- Asked to commit to someone else's guess. Q: "Sales told the client four weeks, can you do it?" A: "I cannot confirm four weeks without seeing the requirements. Send me the scope and I will tell you today whether four is real or optimistic."
- Honest uncertainty, phrased usefully. Q: "Confidence on that estimate?" A: "Low, maybe 50 percent, because the third-party dependency is a black box. High confidence on our own code. The risk lives entirely in their API."
- Manager chair: accepting a spike over a guess. Q: "I can't size this without a spike." A: "Then do the spike. I would rather wait a day for a real number than build a roadmap on a guess."
Revising an estimate that was too optimistic
- Halfway realization. Q: "Still two weeks total?" A: "No, I need to revise up to three. My original number assumed clean data and it is not clean. Better you hear the new number now than at the two-week mark."
- Manager chair: taking a revision well. Q: "I have to move my estimate from one sprint to two." A: "Thanks for telling me now. What did you learn that changed it? I want the same lesson in the next planning round."
- Revising after a spike. Q: "What did the spike say?" A: "It says my week estimate was wrong. Real number is closer to three weeks because of the schema migration. Here is the breakdown so the new number is auditable."
- Being upfront it could move again. Q: "Are you sure three weeks holds?" A: "Reasonably. I have front-loaded the two risky parts. If they go badly I will tell you inside week one, not week three."
- Softening the bad-news delivery. Q: "This keeps growing." A: "It does, and I know that is frustrating. The good news is the growth is now understood, not mysterious. The new estimate is firm because the unknowns are gone."
- Revising down, for once. Q: "Still think it's a month?" A: "Actually less. The library handles more than I assumed, so I am revising to two weeks. I would rather correct an estimate in either direction than let a stale one stand."
- Peer chair: helping a teammate re-estimate. Q: (their estimate is clearly stale) A: "That number is from before the requirements doubled. Want to re-point it together this afternoon so planning is not built on the old one?"
- Manager chair: a revised-up estimate arrives. Q: "It's three weeks now, not one." A: "Thanks for the honesty. Is this the last correction, or is there a piece you still haven't seen the bottom of?"
Challenging an unrealistic delivery date
- Date handed down, no room. Q: "We're committing this for the 15th." A: "I want to be straight: the 15th is not realistic for the full scope. I can hit it for the core flow and land reporting a week later. Which matters more to the launch?"
- Pushing back with evidence, not vibes. Q: "Two weeks is the deadline, make it work." A: "The last two features this size took four weeks each; here are the tickets. Two weeks means cutting scope. Let's decide together what comes out."
- Manager chair: someone pushes back on your date. Q: (dev says the date is unrealistic) A: "Okay, walk me through why. If you are right I would rather adjust now than explain a miss to the VP later."
- Protecting quality against a rushed date. Q: "Can't you just ship it Friday?" A: "I can ship something Friday, but not something I would put on-call behind. Give me to Tuesday and it is tested, or accept a known risk in writing. Your call."
- Offering a phased plan instead of a flat no. Q: "The client needs everything by month-end." A: "Everything by month-end is not on. Here is what is: dashboard and alerts by the 30th, exports and roles two weeks after. Phased is deliverable; all-at-once is not."
- Naming the hidden cost of the date. Q: "The date is fixed, non-negotiable." A: "Understood the date is fixed. Then scope or quality has to flex, because effort will not. I listed three things we can cut to hit it safely; let's pick."
- Team chair: backing an engineer in the room. Q: (a peer is being pressured on a date) A: "I have to agree with Priya here. We estimated this at six weeks in planning. Committing to three publicly sets us up to miss. Can we align on a date we believe?"
- Manager chair: an engineer challenges your date. Q: "January isn't reachable as scoped." A: "Show me the math. If it really is a month short I would rather manage the date now than promise and miss."
- PM chair: negotiating scope down. Q: "We can't do all of it by launch." A: "Then draft me two scope options we could actually ship. I will take the smaller one to the stakeholders."
Asking a question you fear is too basic
- The question you almost swallowed. Q: (unsure what a term means) A: "Quick one, might be obvious: when we say 'the pipeline', do we mean the CI build or the data ETL? Want to be sure I am fixing the right thing."
- Asking without apology. Q: "You get how the auth flow works, right?" A: "Mostly, but I want to check one thing so I do not guess: does the refresh token rotate on every call or only on expiry? That changes my fix."
- Reviewer chair: making basics safe to ask. Q: "Sorry if this is dumb, what's a shadow deploy?" A: "Not dumb at all, good to check. It is running the new version on real traffic without serving its responses, so we compare safely. Ask me anything on this."
- Reframing 'basic' as 'precise'. Q: (worried it sounds junior) A: "This might be basic, but I would rather ask than assume: is eu-west-1 our primary or the failover? I do not want to point the migration at the wrong region."
- Catching an assumption before it costs a day. Q: "You know where the config lives?" A: "I want to confirm rather than dig for an hour: is it in the vault or still in the env file? Pointing me at the right one saves me half a day."
- New to the codebase, asking anyway. Q: "First week, want to ask something small." A: "Where is the source of truth for feature flags? I found two systems and I do not want to toggle the dead one. Rather ask now than break something learning."
- Manager chair: someone hesitates to ask. Q: "This is probably a dumb question." A: "There are no dumb questions on undocumented systems. Ask it, and I will put the answer in the docs so the next person does not have to."
- Reviewer chair: encouraging a basic ask. Q: "Where do the env vars come from? Sorry." A: "Good question, that pipeline is genuinely confusing. Secrets manager, here is the path. Ask me anything like this, it is faster for both of us."
Don't be confused: "delayed" and "blocked" are not the same word. Delayed means the work is moving, just slower than planned, so you own it and you carry a date. Blocked means the work has stopped because you are waiting on someone else, so you need a specific person to act. Say which one it is, because they call for different responses.
Don't be confused: asking for an extension is not the same as announcing a slip. An extension is a request made before the date, where the answer could still be no and you are offering trades. A slip is a statement of fact, usually made once the date is already gone. Ask while you still have leverage to negotiate scope.
👉 Late work is usually a scope problem wearing a clock, so the next stop is what is actually on your plate: too much of it, shifting requirements, and saying what you can really take on. On to Chapter 52.