Figuring out custom software cost is tricky. Of course the answer is to just ring a few places and ask! Unfortunately there’s typically an up-front cost to preparing project details, and then the high pressure sales pipeline.
A good custom software project will pay itself off many times over in it’s usable lifespan, and require only minimal updates for security patches and changes to your organisation.
Well tested software is more expensive up-front, and easier to extend and work on in the future (by your original development team and other development teams).
When kicking off a new software project, you need to decide which road to go down.
Find WordPress plugins to do the job
WordPress software (plugins etc) is effectively free up-front. If you’re lucky and your needs are handled by WordPress plugins, that’s awesome!
The WordPress database model is very simple and doesn’t follow usual database design best practices (e.g. All of your data is stuffed into a ‘post’ data model, and querying it out is very expensive in server time).
Result: Poor/Medium fit for business. Quality OK.
Execution Risk: Low
Tips: This is good if you are cash poor and have plenty of time.
Find a freelancer to do the job
A freelancer is pretty cheap in a corporate price scale. For ~$100/hr, you’ve effectively got a temporary employee working on the issue for you.
Depending on who you find, this should include database architecture, requirements gathering, build and testing. The system can be tailored to your requirements, but the freelancer you choose can be a risk.
Result: Perfect fit for business. Quality good.
Execution Risk: High*
Tips: Word of mouth is key. Find someone with a few projects under their belt. Carefully assess.
* What happens if your freelancer gets hit by a bus? Ask them.
Hire a development agency to do the job
There’s plenty of mouths to feed in a typical agency and this all factors back to the estimates you receive for your project. Bucket loads of hours can get lost in the middle of a project as the dollars count up but the project isn’t moving along.
The good news is, you can be pretty confident of receiving a completed finished project with people who have done the work plenty of times before. Much more expensive, hopefully for a better result.
Result: Perfect fit for business. Quality great.
Execution Risk: Low
Tips: Make sure to keep costs in check! Project expenses can spiral out of control if you’re bankrolling the junior developers to learn on the job.
Custom software cost – fixed price
You might be tempted to request a fixed price project from your developer. While not unheard of, this causes a mismatch of expectations. Are you getting the quality you want, or is the agency chasing a budget goal?
The last thing you want on your project is for unexpected hurdles to be swept under the rug in the name of coming in on budget.
Work with your developer/team until you can agree on a budget range and a project scope. Generally, the tighter you can reign in the project scope, the tighter the devs will be able to price the project.
Will the cost blow out?
For a well specced project, and a good experienced developer or agency, no.
Real life happens though, and it’s important that you approach the situation with your eyes wide open. Listen closely and ask for plenty of details when a project increases in costs – make sure there’s a good reason why and make sure you find out why!
If your developer finds out that the library they were going to use to connect to xyz-API isn’t maintained anymore, and they need to research and evaluate a new one – and it’s going to take time – this is a good thing.
Likewise if they discover the database design you specced out together isn’t quite going to work, and needs a refactor.
Would you prefer they just use the forgotten library, security holes and all? Or leave the poor database design in the app?
If your development partner can’t explain why the costs have blown out and can’t supply some alternative options, maybe you should be fighting the new bill.
You should have a good inside picture now of the type of software development you can search for and the costs and outcomes you can expect.
If you’ve got any questions about the process, feel free to send us an email to discuss it further.
Or “How Unit and Functional tests let us upgrade our framework from June 2014 to January 2017” (about 25 years in modern PHP!)
It’s a bit of a painful experience to upgrade a Windows developer machine to a new one, Continue reading “New Dev Machine”
A good chunk of our day to day business is maintenance of existing projects that are ‘bought and paid for’, so we find ourselves adding features to a Laravel 4.2 project we worked on a few years ago. Continue reading “Laravel 4.2: Logging all Requests and Responses to the database”
Like most of our articles, these conventions serve as our living, breathing coding guidelines for projects we undertake.
We place a heavy emphasis on functional and unit testing for client projects, which are often Single Page Apps or “Business As Usual” tools (such as inventory management, job management). Continue reading “Functional Testing in Laravel – Snippets”