How to Control a Software Development Agency on a Time & Material Contract
Mladen Šimić
2025-06-24
3min
Sales
Time & Material contracts often get a bad reputation due to cost uncertainty, but the real issue is lack of structure. In this blog, we share practical steps to stay in control of your T&M project, keep progress visible, and ensure you're getting real value without micromanaging.
Signing a T&M contract can seem scary. No matter how much due diligence you’ve done, it is still a daunting thing to greenlight a company you don’t know to bill you on time and material basis. As an agency owner myself, I also hire other vendors on a time and material contract. So how do I make sure I get my money’s worth?
The answer is a simple one, but not an easy one, and it might be somewhat surprising.
In essence, it’s about a mindset that is focused on deliveries and creating values, not on reports and time tracking.
Let’s dive deeper.
Ask them to split work into sprints or weekly chunks, with clear goals like:
- “Design login and registration screens.”
- “Implement basic user login with Firebase.”
At the end of each sprint, ask:
- What did you complete?
- What can I see or test?
- What’s next?
Make this non-negotiable:
- Every week, they must demo progress (via video or live session).
- You get to see and test what’s been built.
- If you can’t see real progress, stop the project and ask questions.
Require work to happen in tools where you have visibility:
- Figma (for designs)
- Jira / Trello / ClickUp (for tasks)
- GitHub / GitLab (for code)
- Slack or email (for communication history)
This creates a paper trail and accountability. But it also allows you to see them work in real time. Figma is a design collaboration tool and you can literally see the designer working. In JIRA you’ll see tasks changing statuses. In GitHub you’ll see code gets committed.
Ask them:
- Who is your Project Manager?
- Who are the developers and designers?
- When and how do you get updates?
- How fast will they respond to your messages?
They will not be online 24/7 and that’s ok. But define when they are online and when you can expect answers immediately.
You can’t check code quality, but you can verify features. Is it working as intended or not? Ignore pixel misalignments for now, functionality is what matters. Focus on that and don’t be scared to ask questions and seek clarifications. It’s simple: things should work for you as a user. If they don’t, it’s a problem no matter what they say.
Agree to a budget limit or monthly cap in the contract (e.g. “not to exceed €10,000 monthly without approval”).
Make sure you have:
- Admin access to code repositories.
- Control of design files, servers, and accounts (e.g. Firebase, AWS).
- Ability to switch vendors if needed — don’t let them lock you in.
If:
- You don’t understand where the time goes,
- You’re not seeing working features,
- They avoid your questions or meetings…
Pause billing immediately and demand clarity before continuing.
As you can see by now, you have to be involved. Like all the good things in life, if you don’t put the effort in, you won’t get the results back unless you’re just lucky. Be organized and make sure you put 2 hours aside each week to check the progress of your project, to talk to your team and everything will be fine. Remember, you set the tone. If you focus on getting meaningful, palpable results, that is what you’ll get. If however you focus on getting reports and detailed hours breakdown, then that is what you’ll get.
Subscribe to our newsletter
We send bi-weekly blogs on design, technology and business topics.