Software Development Cost & Time Estimates

How much does an application, mobile application or custom website cost? How long would it take to do? How long is a piece of string? The correct answer, let us find out together. Software development is not a product on a shelve; It is a service delivery and specialist applied skill. Applying a skill to craft a solution or solve a problem. There is no static price for any software development project,as no two projects are never the same. However, a final closed estimate is achievable with a guaranteed working solution if you follow the correct process.

Taking the cheaper route or best price is not in your best interest, I will explain.

You see it is not always the amount/cost of the software that determines the quality. It is about the effort, the planning, and the execution that went into it. You can’t compare project costs between developers or even agencies. Projects get executed differently with different tools on different platforms. So you can’t use a set price to make a final decision. There is no such thing as getting a “special price” in software development. You either getting conned or compromised where made. Things where heavily sugar-coated in the beginning, but somewhere the faults and cracks will surface.

None of these will make sense without diving into what it really requires.

The coding part of any project is most of the time only 1/3 – 1/2 of the entire project. Notice I did not say Software development, because that is a name for the whole process. There are other disciplines involved.

The most important aspect of any project is the COMMUNICATION. Without the proper good communication, it will doom your project from the start. Good communication leads to UNDERSTANDING the context of the project or task. Once you understand the context of the task, it is where the REAL EXPERIENCE comes in, to INNOVATE, TESTING of CONCEPTS and IDEAS. The cross-examination of past use-cases. From this, trust is being built because you need to let your developer in and understand the operation and function of your business to truly get value from the project. So that this project can create revenue for your business when completed. Remember the software or the website becomes a personality and trademark in your business. It also becomes an employee. What is the function of this employee for you? Just to sit there and look nice or generate revenue.

No Sugar Coating here

It is your business or maybe your personal money, do you want to waist it over sweat little promises?–Sugar Coating?

For many years now, I don’t sugarcoat a deal. It has the means to come bite you in the…, back. I have seen it countless times. Customers being promised the earth, the sun and the moon only to get something that kind off resembles a organized mess. I am usually the one end up fixing that mess/lies. It happens because of over selling, over commitment. When you so desperate to sell your service to a client, you make empty promises just to get the deal. The customer usually ends up with the shorter end of the stick.

Many times, customers don’t know what it costs to build out an actual app, website or mobile app. True Honesty?… I also don’t know myself, yet. I will tell you why. It is humanly impossible to give a final price to a customer without doing a discovery/analysis phase first. It is irresponsible to just slam a price down. Someone will lose out and most of the time it will be you, the customer.

If anyone given you an exact fee strait of the bat, then they sucked it out of their thumb. If a developer has worked with something similar and knows what it will cost, then it is all good. It is not impossible. Alternatively, they give you a set estimate with hidden clauses. You will pay for those, you just don’t know it yet. Giving a ballpark figure is OK, before the actual estimate, because it shows you have any idea what these types of projects cost. You just don’t know all the details yet. Depending on the details coming in, the ballpark figure will translate into an accurate estimate later. You also give the customer an idea if they will afford your services. If you think fingerprints are unique? Then, know this, no two applications are the same. Never will be, never was. It’s impossible as each has its own DNA code. Because no two developers every code or think the same.

Project Steps Required to successful Project

There are ‘some’ of the steps required to build out a successful project. It is not listed in the correct order, just to give you an idea of what it involves when it comes to true software development project.

Discovery Phase

About 10 – 15% of the project cost.

Average 2x days, up to 2x weeks plus, depending on the project size & complexity.

This discovery stage is the most imported part of the entire project. You either plan to succeed or you plan to fail it is as simple as that. I have seen it countless times how clients gone like headless chickens into a project just to lose all their money with no working project. Either the developer did not receive enough money to finish the work, or the client added 2x to 3x more request to the estimated project. If your project was not properly planned, you are guaranteed to lose money. You can’t force someone to work for free if your project ran over budget, because it was not planned properly. That will be your own neglection. You can get away with bargains on products, not when skills or labour are involved. You will burn your fingers. Software developers or software engineers takes a certain mindset and intellectual property and one of our skills is an eye for detail and to look for irregularities and spot problems. We will know when we are been taken for a ride or been conned. It stands out like a sore thumb. Be honest and share all the details and features that your project requires in a document. This is only true for closed estimated. If you outsource for a project on a daily, weekly or monthly basis, no problem at all. Then that time is available to perform any kind of request you might have.

Before I start with any project, I check out a couple of things first. How the communication is between us and if we are a good fit for each other? Not to be picky, but I will not waste your time or money if we can’t communicate properly. I think it is unethical and to take advantage as project scopes can quickly become very broad. If I refer to communication, it is not about the language; It is about understanding each other. If we don’t get to point to understand each other, how on earth will the project be successful? There is nothing wrong with it. Everyone has different personalities and a level of tolerance. We are all only humans. 70% of my clients are USA based, 5% Europe and 5% Australia, 10% in South Africa. I just get better much better along with a certain group of people with understanding each other. Just an FYI, I don’t slam the door on clients even if they are difficult, not everyone is perfect, we all have our problems. No human-being is unique. You can be difficult all day long, but it is about respect for a developer’s time & experience, because we need to reflect that same qualities back to you, for your time and investment. Unfortunately in this industry, time is truly a luxury and very scare resource.

If you come prepared

So at the start of any project. I perform a quick evaluation. If the client has a detailed brief/scope, wireframes & graphics. Also in the initial brief, I will quickly see if I understand the scope layout. If all is good, we can go ahead with an estimate. Otherwise, if it requires a few hours paid consultation. The consultation gets subtracted from the project fee once approved and paid.

If you don’t come prepared

If there is no brief, and only an idea, we first would need to start a discovery phase. We can’t execute a project without a plan. Without a direction or blueprint. This starts out with one-on-one consultation sessions to discuss the project. Doing research for what it requires and come up with a plan on how to execute the project. Standard stuff, with existing clients I work this time into their final project estimates. With new clients, I will first estimate you on the consultation time, but give you some kind of ballpark figure to let you know for how much you are in for, for the whole project. We first need to perform work to compile a project scope and a project plan. Once we agreed upon the deliverables, I will present you with an accurate project estimate.

Wireframes, Flow Charts, UI & UX

Wireframes UI, UX

About 15 – 20% of the project cost.

Average 2x days, up to 2x weeks plus, depending on the project size & complexity.

I use wireframes to plan out the flow and layout of the elements and pages/screens of your app or websites. It gives a visual presentation that everyone understands. Visually you can also detect if your users will find your app or website easy or hard to navigate. Wireframes also shows the functionality and features. Wireframes, UI/UX is not the graphical design or the graphical look of the app. The UI/UX stands for User Interface and User Experience.

Flow charts

About 2 – 5% of the project cost.

Average 1x days, up to 2x days plus, depending on the Project Size & Complexity.

Flow charts are not always required but essential for apps and mobile apps. It gives you a visual presentation of the data and service flow in your app. Especially if another developer needs to take over the app development down the line. The developer will have a much clearer understanding of what it going on and it could save days or even weeks of trying to figure out the app. Not only for other developers, but for me also, if I came back after 6x months to perform more development on the app. Yes, we as developers can hardly remember what we wrote 3x months ago, how are we going to remember 6x months? We do not study our own code afterwards to remember it. It will be stupid and unproductive because we would, by that time, have an improved version for the existing code. It also helps to plan out further development for the app that everyone can understand.

Graphical Design

External estimate.

1x – 4x weeks plus, depending on the Project Size & Complexity.

In today’s age, thousands of templates are available online that we can leverage and adjust for your app’s graphical image presentation. My first and always recommendation is that we source a graphics designer. If the budget allows for it. I am a software developer, not a graphics designer. It is two different disciplines from different worlds. Left Brain, Right Brain. I have 2 years of art-school, so I know what it requires for a design, but it’s not my day-job or profession.

I have a network of graphics designers that we can tap into. You will then directly work with the graphics designer so he/she can take your idea and create a visual masterpiece that will communicate effectively with your audience. See why I would rather let a pro do this?


20 – 50% of the project cost

On average 1x to 2x months if needed, depending on the project size and complexity.

We can categorize prototypes into two categories: Display- / showcase prototype.

If you only need to get to a stage where you need to present (show case) the idea to investors with a business plan. Then we do the interactive display prototype.

Most of the time, it will be a functional prototype. Very near an MVP (minimal viable product). This is a working app, but not an app ready for prime time. It still might have some loose ends and bugs that would require some ironing out. It might also have some missing functionality, still under research and development. It showcases that the project is well on its way to success. It also shows that any risk for the project is almost non-existent and it is now just about following the project through and get the project to the final stages. I recommend for every large project we include a prototype phase, especially if it involves any investors. So you could show them the progress.

Development & Unit Tests

30 – 50%+ of the project cost.

1x month plus as set out in the scope and development plan.

Prototyping falls under this phase as well.

This is the phase I dedicate all my energy to the project and leave the planet to get lost in my own world. Start creating features and functions out of nothingness. Connect services with other services and do what my job description says.

Unit Tests

The simple explanation on unit testing: You add two numbers in your app that you want to calculate together via a sum function. So 1 + 1 = 5. Not what you expected, right? So how do you solve this issue, forget about solving if first, wherein the 20 000, 50 000 odd lines of code is actual the bug?

Not required if the project is tiny, but at some point it will be a must, especially if the app is more than a few functions. Unit tests take about the same time as development does, because you need to write code that test your actual code. The whole point of unit testing is debugging errors in your own code. Let’s take an example function that adds two amounts together.

You do not have to follow or try to understand the following bit, just follow along.

* sum – Return the total value of two numbers added together
* a {int} – any value
* b {int} – any value
* @return {int} – return total value
function sum(a,b) {
return a+b;

total = sum(1,1); // expected returned value of 2 if 1 and 1 is passed to the function.

This function calculates the sum of two values. Now I need to create another function that tests that function if the expected value is SomeValue A + SomeValue B = expected C value. Because if it returns 0.5 or a Square value of 2 + 2 = 8, where it should be 4, then something is wrong (bug) in that part of the code and I would need to investigate. So the true value to unit testing here is that I know exactly where the problem is and it safes a lot of debugging time and maintenance cost.

Now imagine a standard app of say 20 000-50 000 lines of code. If it does not have any kind of unit tests, it could take anything from 20min to 8 hours to debug to analyze the problem before I can even fix it. With unit test integrated into the existing code, it can take me less than an hour to narrow down on the problem if it is a big app. It is also not testing for existing functions, but when you add new features or change existing features. Unit testing can solve problems in a lot less time than manual debugging software. Don’t think it’s necessary? What if your app charges your customers only $10 for a product that sells for $1000? This is happening live in the busiest time of your business. See how expensive it now can get for skipping on an important step in the development process? It can cost you dearly in the end.

Quality and Assurance Testing

It is quality control. Q&A can takes anything from 1x week up to 4x weeks in time, but the actual testing time is about a week. It is because, you, the client, is also involved. It is not just the app or website for you, but your audience.

Before prime time the app or website requires testing. It is exactly the same when a car comes strait off the assembly line. Everything about that car requires testing, before they send it off to the dealer. At the dealer the car needs to go through a final test and checklist before it’s delivered to the customer.

Maintenance & continued improvements or added functionality

Every piece of software requires maintenance and improvements. Maybe you require an additional feature? There is a limit on small basic apps that only require a checkup once a year if it’s not a critical business app. But your bigger apps will require some maintenance. Instead of going into it too much. We all know that software requires updates from time to time. If you want that new feature or get rid of that annoying bug, you need to update. So I rather going to leave you with this quote:

“Software being ‘Done’ is like lawn being ‘Mowed’.”

Jim Benson

Conclusion on the time and price.

Now, with all the above explained, you can see where all the time is mostly invested into. There are no shortcuts to a successful working solution. There is only one way, and it is only the right way. It will depend on “how much polished your product will be” and “how much of my time you require to be there until the very end and beyond”. Of-course I am there till the very end, but in every project there is always that “something more” required. If the project is properly funded, I got your back and held your hand until the deliverables satisfy you. In the end of the day I also have a business to fund and a family to support. So I will not work for free. I know nobody really cares, but I do, and I need to care about the service you receive, your interest, your money that you are investing and the promise that I need to deliver on. So it is a kind of big deal, if I say so?

So getting back to “How long is a piece of string?”

  • It will depend on what you need and want. Your requirements.
  • What your clients or suppliers really need.
  • The amount of functionality required in your app?
  • How many external services do it need to connect to?
  • How good does the design need to be?
  • Do you want an MVP, Prototype for now, or a full-blown polish version?
  • What is the important features for now and what features can I implement in a later phase(s).
  • How big is your budget? No, not to see how much money I can make out of you. It is about how much money you have set aside so I can work out how much time is available to commit to your project. How much buffer time we have if something does not go as planned. If I need time to re-code a part of the project for new requests. It is not uncommon for requirements to change halfway into a project. I base my rates on standard going rates.

Estimate time expectation on certain projects

Everything can’t be rushed, but sometimes another developer dropped a client and the client have a deadline for their project. If I need to rush a project, and this would mean I need to allocate personal/family time, I will add an X% markup to a project to accommodate your project in a hastily manner. It just fair.

If the client’s budget is thin, we can shave a bit off the project cost. So we stretch the project over a couple of weeks/months.

I will always try to accommodate someone may that be time or budget. You let me know what works for you, I will make a plan.


up to 60x hours – 180 hours plus

Usually it takes about 1x a month for standard sites, 2x months for big sites and 3x months for large, complex sites.

Single Page Applications:

up to 120hours – 720hours plus

1–6 months, with basic apps at 1x month and standard apps with external services about 2x months. Complex apps with a back-end and such can easily take up to 4,6 months.

Mobile Applications

up to 480 hours – 2160 hours plus

For the majority standard mobile application development time of up to 4,6 months. For complex bigger apps up to 18 months plus.

That is a ballpark estimate, you see even with that and with experience I still can’t 100% give you a final time-estimate, because we first need to sit down and plan out each section of the project. We can have deadlines, off course, but again deadlines that match what requires completion for the allocated time. So if a few features can’t make it in the set deadline, what I usually do is move it to a phase 2 stage after I deliver the project and the first version is up and running. Then we can attend to those non-critical functionality afterwards.

Final Words

I really hope this gives you some insight into what it involves. It is not everything.

To the point. So the cost of the project get determined on your 1. detailed requirements (scope) + 2. budget(estimate) + 3. allocates time(best and worst case deadline). With that, I can give you an accurate estimate. Yes, why did I not say this in the beginning? Because then I get to ask, why so much or why so complex or why so long? You need to decide, do you want quality and uniqueness or something that’s rushed, looks unprofessional, not 100% functional? There is no in-between you either do it right the first time or wait and safe up and get it done professionally. It is your image and your business on the podium.

Here is a nice video to give an explanation of something done with good amount of allocated time vs something that is rushed and cheap.

Thank you for reading and have a nice day! Interested to get a project started or have an idea for an app? Get in touch so we can get the ball rolling. Please like my Facebook page if you don’t mind! Thanks!