Why I Stopped Charging Hourly and Started Charging Per Milestone — And Why My Clients Prefer It
Three years ago, I was working with a startup founder in New York. We were eight weeks into a backend architecture project, billed hourly. Every two weeks, the same uncomfortable conversation happened: "Deepak, can you explain why this took 47 hours? I expected it to take around 30."
The problem wasn't dishonesty or poor estimation. The problem was structural. Hourly billing puts the client and the contractor in adversarial positions — the client wants fewer hours, the contractor has no incentive to be faster. Every invoice becomes a negotiation.
After that project, I restructured my entire engagement model. I stopped billing hourly and moved to milestone-based pricing. The result was transformative — for my clients and for me.
The Problem with Hourly Billing (From Both Sides)
The Client's Perspective: When you hire a contractor at $100-200 per hour, every hour feels like a meter running. This creates exactly the wrong dynamic for senior technical work. Architecture decisions, system design, debugging complex production issues — these require deep thinking, exploration of options, and sometimes deliberate pauses to ensure the right approach.
The Contractor's Perspective: Hourly billing punishes efficiency. If I solve a problem in 2 hours that another developer would take 20 hours to solve, I earn 10% of what a less experienced developer would earn for the same outcome. My 12+ years of experience actually reduces my income.
The Trust Problem: The fundamental issue is misaligned incentives. Hourly billing means the contractor earns more when things take longer. The client knows this. Even if the contractor is completely honest, the suspicion is always there.
How Milestone-Based Pricing Works
Phase 1: Discovery and Scope (Paid, Fixed Price)
Before any major project begins, I conduct a paid discovery phase (typically 1-2 weeks). This results in a detailed scope document including: business objectives and success criteria, technical architecture overview, a milestone breakdown with clear deliverables, a fixed price for each milestone, and acceptance criteria definition.
Phase 2: Milestone Execution
The project is divided into 3-7 milestones, each representing a functional deliverable. Not "backend work for 3 weeks" — but "User authentication system deployed and tested, supporting email/password, OAuth, and role-based access control."
Each milestone has a fixed price. Payment is made when the milestone is delivered and accepted. This aligns incentives correctly: I'm rewarded for being efficient and experienced, not for being slow. The client pays for outcomes, not hours.
Phase 3: Change Management
If the client wants to add scope within an existing milestone, we discuss the impact and either adjust the milestone price or create a new milestone. Projects always evolve — milestone pricing handles this cleanly.
How I Price Milestones
I price based on three factors:
- Value to the client. A user authentication system that unlocks subscriptions is worth more than a logging improvement.
- Complexity and risk. Milestones involving third-party integrations or data migrations carry more risk; the price includes a buffer.
- My expertise and efficiency. If I can deliver faster because I've built similar systems before, the savings are mine to keep.
In practice, my effective hourly rate under milestone pricing is 30-50% higher than under hourly billing. And my clients' total project cost is typically comparable or lower — because upfront scoping prevents scope creep.
Why International Clients Prefer This Model
- No time zone accounting — clients evaluate deliverables, not timesheets
- Clear progress visibility — each milestone is a visible, testable deliverable
- Predictable budget — total cost is known from the beginning, no surprise invoices
- Quality alignment — I'm paid per deliverable, so I have every incentive to build it well the first time
One client in London told me directly: "I always felt like I was managing their time more than managing the project. With you, I just review milestones. It's a completely different experience."
Originally published on LinkedIn

