If you're in the market for a software agency, you have most likely encountered many different approaches for the proposal and estimation process. Each approach has advantages for both you or the agency, but we'll discuss those in a separate post.
For today, let's talk about 5 things you should be doing to ensure that you are comparing estimates from different agencies in the best manner possible.
Tip 1: Don't Base on Price Alone
This should be obvious, but simply choosing the estimate with the lowest estimated cost doesn't mean that you'll get the best product, or that you'll even pay that estimated amount (more on that later). Likewise, just because the estimated cost is the highest doesn't mean you'll necessarily get the best product; however, I'd argue that your chances are better.
We talk about how pricing affects quality and why cheaper isn't always better a few times on this blog.
Tip 2: Reputation & Evaluation
Have you worked with any of these entities previously; if so, your inside knowledge could say you easily. If they are all new to you, you should take the time to seek out online reviews, ask to speak with previous customers for references, etc.
Approach the relationship almost as a new-hire for your business; you wouldn't hire someone off the street without some leg work, so do the same for your new software craftspeople.
Hint: We have a guide to what you should be asking your potential software development partners here for you to download and explore in detail.
Tip 3: Fee Structure
Let's say that you have two estimates with the exact same dollar amount; which is better?
We can't offer legal advice, but in general there are a few items to take note of when it comes to pricing structures for custom software development.
Time and Materials: The developer has estimated the project at an amount, but you are agreeing to pay the actual amount for the project upon completion. This means you may save some money, but leaves you liable for potentially a huge unplanned cost and is hard to budget. Often in this agreement with our clients, we find the flexibility is liberating for long-term relationships and constant development, but prioritization of features and ROI is key to success.
Fixed Price: The developer is agreeing to offer the completed product to you at a fixed price; no matter the amount of effort required. You should see this as a value proposition. Will the resulting product produce value for my business greater than the cost to produce? If so, you've met your investment and the agreement may be valuable. You have no liability for overages on the product, but you may find yourself butting heads with a developer wanting to nickel-and-dime you.
Whatever way you choose, you'll want to pay attention to fee schedules, expenses, timelines, milestones, invoice terms, payment arrangements, late fees, arbitration and so much more.
Tip 4: Negotiate and Communicate
Hopefully you've subscribed to our methodology of discovery before implementation, but on any proposal discussion and negotiation is completely acceptable.
Find that you really want to work with option #1, but yet the price is just too high or timeline too far out? Have a conversation. We're all humans, perhaps something was miscommunicated, or personnel changes could be made to better meet your timeline, or there are features/options to change in the pricing structure to better meet your targeted budget.
Just know that if you feel like you want to work with that software craftsperson, have a dialog and find a way. Truly good creators will want to work on your project and take the journey with you and usually make reasonable effort to find the best solution for you.
Tip 5: Don't Think too Long
Just know that for every week (or even day!) you spend comparing estimates, contemplating scope, and generally making no active progress forward, your competitors may be!
If you have a proposal that seems fair, is detailed, meets your relative budget and you have a good feeling about engaging with the software creators, then make the move! You can always pivot and adjust (hey, that's called being agile), but if you never start, you'll never finish the race.