Your client expects the world. You know your skills, and you know that what they're asking for isn't going to be a walk in the park. You also know that you can do it, but you don't want to face any possible complaints later on. Some people might tell you to avoid giving estimates altogether, but what if I told you it's possible to keep your client happy and make sure things won't take forever?
Here are 5 ways you can manage time estimates with your clients:
1. Plan for the Unpredictables 🔮
Once you’ve been a developer (no-code or not) for a while, you start to notice certain behaviors and patterns in the course of your work. One such pattern is that certain things tend to not go as expected. Predictability is something that is hard to achieve in an unstable environment, but with a little planning we can help avoid the unpredictability.
A common mistake when putting together time estimates for clients is to only focus on actual hands-on-the-keyboard development time. It's not until later you realize there's more to it than that. Often you have to spend time researching a problem, looking up solutions to unexpected errors in the forums, spending time with your tool's support team.
When measuring and laying out your work, remember to communicate to your clients that these things are a natural part of the process and include that time buffer in your estimates.
2. Avoid Scope Creep 👀
Scope creep, we've all been there. It's something that can sneak up on you. It's that little extra bit of functionality, or the client asking for "that one extra feature", or simply getting distracted and not sticking to the original plan. It’s hard to dig yourself out when scope creep takes hold.
Avoid it altogether by having a thorough expectation of requirements from the start. Again, get the client involved so you're both agreed on the work in as much detail as possible, and then communicate your process and rules around changing those requirements later on. Let them know that additional requests will affect the original time estimates, which will also increase their final cost. From this point, you can expect them to be more mindful about change requests.
3. Factor-in Learning Curves 🧑🏫
The nature of development is that you're always creating something new. As a part of doing so, you'll often have to use tools, platforms, or APIs that you haven't used before. Similar to planning for the unpredictables, you should consider whether your project is going to require a new or unfamiliar tool and factor learning time into your total estimate.
A tip for figuring out how long it'll take to learn something: browse around customer reviews and forum posts for the tool at hand. Most of the time it will be easy to tell how simple a tool is to use by tapping into the existing community who has experience working with it.
4. Ignore your Ego 😎
Let's talk about the elephant in the room: Ego. If you take pride in your work, you probably also take pride in doing good work quickly. It's what we all strive to provide, especially when working for clients. While it's great to want to provide quick service, don't fall into the trap of rushing yourself. It will result in a lesser end product.
Put your ego aside and be realistic about your estimates. Don't try to shave off an extra couple hours to meet that budget if you really need them. The truth is, most clients don't mind spending a few extra dollars if they know they're going to get reliable, quality results. If you're being realistic about your estimate, this is something you can definitely provide to them.
5. Use Scrum ✅
In essence, Scrum is a fantastic framework based on the idea of iterative, incremental development. By keeping a detailed account of your estimates and comparing that with how long each piece of work actually took you, over time you'll notice patterns and be able to dial in how long certain things will take.
(Your clients will also thank you for keeping them involved in the process.)
Luckily, I've already laid out the Scrum process in some detail. You can read more about how our Mintor team uses Scrum here.
At the end of the day, the best thing you can do is keep your clients in the loop of communication, involve them in the process, and just be realistic and honest with them about them.
Remember that these are estimates, not "exacts".
Even if it's more or less than what they had in mind they'll likely appreciate that at least they know what they're getting themselves into, and you'll appreciate having a solid foundation to get started.
-----
If you liked this post, you can subscribe below or follow me on Twitter to keep up with my latest startup, networking, and NoCode musings. Hope to see you there 👋
Here are 5 ways you can manage time estimates with your clients:
1. Plan for the Unpredictables 🔮
Once you’ve been a developer (no-code or not) for a while, you start to notice certain behaviors and patterns in the course of your work. One such pattern is that certain things tend to not go as expected. Predictability is something that is hard to achieve in an unstable environment, but with a little planning we can help avoid the unpredictability.
A common mistake when putting together time estimates for clients is to only focus on actual hands-on-the-keyboard development time. It's not until later you realize there's more to it than that. Often you have to spend time researching a problem, looking up solutions to unexpected errors in the forums, spending time with your tool's support team.
When measuring and laying out your work, remember to communicate to your clients that these things are a natural part of the process and include that time buffer in your estimates.
2. Avoid Scope Creep 👀
Scope creep, we've all been there. It's something that can sneak up on you. It's that little extra bit of functionality, or the client asking for "that one extra feature", or simply getting distracted and not sticking to the original plan. It’s hard to dig yourself out when scope creep takes hold.
Avoid it altogether by having a thorough expectation of requirements from the start. Again, get the client involved so you're both agreed on the work in as much detail as possible, and then communicate your process and rules around changing those requirements later on. Let them know that additional requests will affect the original time estimates, which will also increase their final cost. From this point, you can expect them to be more mindful about change requests.
3. Factor-in Learning Curves 🧑🏫
The nature of development is that you're always creating something new. As a part of doing so, you'll often have to use tools, platforms, or APIs that you haven't used before. Similar to planning for the unpredictables, you should consider whether your project is going to require a new or unfamiliar tool and factor learning time into your total estimate.
A tip for figuring out how long it'll take to learn something: browse around customer reviews and forum posts for the tool at hand. Most of the time it will be easy to tell how simple a tool is to use by tapping into the existing community who has experience working with it.
4. Ignore your Ego 😎
Let's talk about the elephant in the room: Ego. If you take pride in your work, you probably also take pride in doing good work quickly. It's what we all strive to provide, especially when working for clients. While it's great to want to provide quick service, don't fall into the trap of rushing yourself. It will result in a lesser end product.
Put your ego aside and be realistic about your estimates. Don't try to shave off an extra couple hours to meet that budget if you really need them. The truth is, most clients don't mind spending a few extra dollars if they know they're going to get reliable, quality results. If you're being realistic about your estimate, this is something you can definitely provide to them.
5. Use Scrum ✅
In essence, Scrum is a fantastic framework based on the idea of iterative, incremental development. By keeping a detailed account of your estimates and comparing that with how long each piece of work actually took you, over time you'll notice patterns and be able to dial in how long certain things will take.
(Your clients will also thank you for keeping them involved in the process.)
Luckily, I've already laid out the Scrum process in some detail. You can read more about how our Mintor team uses Scrum here.
At the end of the day, the best thing you can do is keep your clients in the loop of communication, involve them in the process, and just be realistic and honest with them about them.
Remember that these are estimates, not "exacts".
Even if it's more or less than what they had in mind they'll likely appreciate that at least they know what they're getting themselves into, and you'll appreciate having a solid foundation to get started.
-----
If you liked this post, you can subscribe below or follow me on Twitter to keep up with my latest startup, networking, and NoCode musings. Hope to see you there 👋