The Making of koldstart.io
From ideation, customer validation, wireframing, development, all the way to the first paying customer
As a PM working in a software development agency, we spend half our time building cool AF tech products at incredibly fast pace. I personally manage up to 8 active projects (UX design -> development -> QA -> UAT)in a given week.
The other half of the time? We chase potential customers through proposals and estimates.
For most developers (and even PMs), the estimation process can be the most grueling. Besides feeling stuck guesstimating the effort required to implement hundreds of user stories (that is not fully fleshed out yet and has no wireframes!), it could get tedious especially when most devs are expecting to spend their day doing what they love the most — writing lines of code. No dev expects so spending much time reading through requirements and guesstimating when they sign their employment contract.
There are a few reasons why estimates can be a painful process but one of the most demotivating one is the high uncertainty of winning a project… most of the time, due to circumstances out of your control (the founder has personal issues to attend to, the business’ funding had run out, stakeholders had to fight fires internally and does not have enough bandwidth to proceed… the list goes on).
I spoke to Product and Engineering leaders from FAAANG companies and they admit to the same challenge. Software estimation remains to be a puzzle to product teams — be it startups or corporate. Engineering managers still encounter project timelines getting over-estimated or under-estimated, even when the team is estimating and performing regular product reviews at each sprint.
Over time, our processes improved and we got better at estimating. “Better” in the sense that we are able to (1) go on discovery calls with the potential customer… once or twice… for 1 hr max, (2) create proposals and time & cost estimates based on the insights from the discovery calls, and (3) submit the proposal and estimates to the customer in less than a week… which is key to keeping the momentum with a potential customer. It is wildly important to build the relationship and keep the lines open with a potential customer as you slowly earn their trust. This is made possible by churning out a sort of breadcrumbs approach to the estimation process and involve them to the extent possible (e.g. Day 1: send them a list of questions about the requirements, Day 2: send them a list of caveats & assumptions, Day 3: send clarifying questions about the user flow, etc)
We have won multiple projects with this process… and we have also lost a lot. We “lost” resources (time of the product team who worked on the proposal instead of on billable projects) and also “lost” bids for new projects.
We learned a few things along the way.
- It is way easier to estimate when the project has components that uses the exact same approach / tools / components used in a past project. This eliminates the need for developers to have to do preliminary research for libraries that we can use, and even spare us from having to build a proof-of-concept.
- There are several “boilerplate” engineering requirements (deployment, project setup, publishing to App Store / Play Store) as well as common user stories (CRUD functionalities — enter data, upload images or files, subscription, log in and sign up, managing an account, etc). Actual hours logged from past projects can be used as a basis for the estimates on a new project.
- Going on calls to build product conviction, align, and arrive at a shared understanding with the whole team (designers, devs, QA, PM, BA and even the Business Developer) prior to finalizing the “headline” (grand total of the cost and time to build an app) is crucial to work towards whatever the clients’ commercial goal is. At the early stages, you can’t just leave it up to async Slack threads. Go on huddles!
All of these insights catapulted us to a stage where we could put together a proposal and estimates within a day, so long as the whole team is present throughout the process.
This is how koldstart came to life.
A handful of the clients that reached out to our agency to Request for Proposal were cash-strapped, early-stage solo founders getting pulled into a million different directions while doing their level best to get their business of the ground. Some of them came to us with a fully functioning prototype with a few active users per month. Others come to us with a high level idea, yet to be fleshed out into a user story map.
Whatever the case may be, the estimation process remains largely the same.
- Nail down the user requirements
- Break down the user requirements into the smallest unit of tasks (dev effort, testing, UX / wireframes, deployment, etc)
- Estimate out the time and cost for each task
- Negotiate the must-have vs nice-to-haves with the client (TL;DR define what the MVP looks like) to meet their target budget and timeline
- Get the client to sign off on scope
The first 3 steps can be the most challenging, especially when the founder is still in the early stages of ideation. It could take a whole lot of time to iron out the details of a feature, how all the features interact, what dependencies exist, are there 3rd part integrations, and so on and so forth.
The solution: leverage historical data of actual time logged on similar projects built in the past.
Forecast rather than estimate.
The moonshot goal: reduce the estimation process lead time from roughly 1 week to less than 1 hr.
koldstart.io allows you to input a high level app description (e.g. airbnb for surfing boards) then get a time and cost estimate (e.g. this mobile app will take 1.5 months to build for roughly $52k USD) in one click.
The output is a based on 4 years worth of data from actual logged hours on end-to-end software projects built by small teams (typically 2 devs, 1 QA, 1 designer, 1 PM) from a mid-tier software development agency (cheaper than IDEO but on the higher end versus agencies from Southeast Asia or solo freelancers from Fiverr).
Go to koldstart.io to begin cold starting your idea.