Written by Graham Eichman
A well executed web application can be business altering. It is integral to streamlining business processes, improving efficiency, and ultimately – makes a team’s life a whole lot easier.
When it comes to project costs, web development companies are often hesitant to make promises. Clients unfamiliar with the world of software development are confused. I’ve seen this conversation several times.
Client: “We’re looking for a company to develop a software application that will help us do XYZ…”
SingleMind: “Tell us more about that… How complex will this software development project be? Are you looking for a custom web application? What business niche are you a part of? What is the timeline? Are you interested in starting with Discovery to validate your product idea? Have you considered the number of user roles? What about user experience (UX)? Will your application integrate with any other platforms?
Client: “We’re just looking for an app that will help streamline our business processes – can you give us a project cost estimate?”
At this point, I have to revert back to my first response – tell me more.
Client’s are often surprised that a company like SingleMind, that has provided software product development services for more than 15 years doesn’t have a cut and dry response to “the cost question”.
Of course, I can share hourly rates and attempt to give average costs, but without accurately understanding the scope of work in its entirety, providing a precise estimate is nearly impossible.
I know what you’re thinking.
He just doesn’t want to give a high price estimate and scare clients. I promise you, that’s not it. A company like SingleMind doesn’t become an established software development service provider by not being able to fully explain our process and why it’s the only method for web app development cost estimation that ensures the creation of products that will be successful.
No two web apps are created equally.
There are a plethora of variables that influence complexity and in turn, web application development cost.
It’s comparable to consulting a home builder – he’d ask, are you looking for the bare bones; a house with walls, roof, and a door? Or are you expecting a 4 story mansion with an indoor pool and elevator?
That analogy – though slightly dramaticized – remains true in the world of software development.
Variables that influence pricing:
Does the client fully understand their product, the market, and what needs to be accomplished? Is their knowledge around the problem space limited or do they have a thorough understanding of the problems they are attempting to solve and the presumptive solutions to solve them?
If a significant amount of time will be spent at the drawing board defining and focusing the app’s goals and objectives; cost will be affected.
How many different “roles” will this application support? It’s much easier to create a web app for one type of user than it is to create an application where multiple types of users – manager, employee, customer – all are interlinked to one another. Consider, what the user interactions will look like? How will different users interact with each other? Or will they even interact with each other? What data will each user be allowed to see?
For example, let’s explore the development process for an application used by construction and maintenance teams.
The challenge; work needs to be completed safely and swiftly – however the maintenance company is having a hard time contracting from their pool of workers/flaggers, getting them to the right location, and coordinating safety checks while on location.
Within this (seemingly simple) workflow we have several user roles at play: 1.) The actual workers/flaggers deployed on site, 2.) the compliance department using the system to do safety checks/audits, 3.) the scheduler matching the worker availability with work locations, and 4.) the overall manager.
To account for features that each of those users needs from the application (vs simply having one user role), expands the complexity of what it takes to build this custom web application effectively. When you have one application with very distinct user roles, considering each role and optimizing to meet the needs of the specific user is vital for successful product adoption.
TL;DR The more user roles (interacting with each other and the system) that need to be considered for design and development, the higher the development complexity and c
A close relative to the “number of roles” variable, UX/UI design complexity is affected by each increasing user role. When creating a user centered product, quality user experience design is vital to product adoption and user retention.
When our team builds applications, our focus is value creation. Designers ask; what is the value provided to the user? In order to provide maximum value our designers must be thinking about how each user role interacts with the system as a whole. Our designers consider the experience of different user roles – what data will they have access to? How is that reflected in the user interface?
TL;DR If you’re building something in a user centered way – driving more value and usage – designing pathways for each role builds in more work and increased complexity/cost.
How many outside integrations – to databases or other services – need to be considered? Do we have to pull from 6 different places in order for this application to function as designed?
Oftentimes, the scale and number of integrations influences the cost. If an application can stand up on its own without influence from the outside world it would be considered low on the complexity/cost scale. However an application like our construction example, that needs to integrate with HR databases and connect with client sites and their data, would be high on the complexity/cost scale.
TL;DR The more integrations required so that each user role can successfully do their job, the higher the complexity and cost.
Another (often overlooked) complexity factor is business niche. Is your business simple? Streamlined? Easy to understand? Simple problems often require simple solutions.
Alternatively, I often ask clients to consider; will it be necessary to provide SingleMind with a deep explanation on the nature of the business and day-to-day operations?
For example, take a company that manufactures, sells, and leases a product. Everywhere you look inside that organization there will be detailed processes. Processes that are so ingrained in the company that they become part of its competitive edge. An enterprise software overhaul for a company with such deep processes must be high quality and custom. A complex process requires an intelligent software solution. And intelligent software solutions can only be delivered when a software development team truly understands both the ins-and-outs of the client’s industry and the deep processes the particular company holds.
TL;DR To be hyper focused on delivering an appropriate software product that meets client needs, a software team must fully understand a business’ nature and processes. Simple problems often require simple solutions, complex problems often require complex solutions.
Another important variable of web application cost can be described as using the trade-off triangle. The triangle includes cost, quality, and time. For any given project you get to pick two of the 3 variables. You can have 1.) a quality, quickly-built application that you pay a high price for. 2.) A quick, cheaper application that hasn’t been thoroughly tested for quality. 3.) A quality application that isn’t too expensive but takes the development team some time (weeks, months, years…) to complete.
Freelancers: Freelancers typically range from $20 – $300 per hour. However, asking for a standard hourly wage from contract web developers is almost like asking how much someone in America pays for rent. You could choose a newbie freelancer that has coding chops (but without much project experience) or a seasoned pro – but you always pay for quality. A drawback to freelancers can sometimes be their lack of dependability and their ability to manage and mitigate scope creep.
Offshore/Nearshore: Offshore development companies come in many shapes and sizes. Ranging from $25-50 an hour, offshore developers tend to be a bit less expensive on average than nearshore developers at $40-75 an hour on average. The key to successful offshore or nearshore development is proper management. Projects can be risky without proper communication, planning, and quality checks. Considering time zones and budgets early and regularly, can help teams avoid going over budget and missing deadlines.
Small Class: Small class development teams are the sweet spot between quality and price. Often booked several months out due to their smaller team sizes, small class development companies attract startups, local and regional medium sized businesses. Small class teams typically charge anywhere from $75 – $150 an hour, for medium to large size projects. The key to choosing an effective small class development team is to look for marketplace establishment, developer seniority, and references. Is the small class team hiring experienced senior level team members? Have they been around long enough to produce an impressive portfolio?
Mid Market Class: The big brother to small class development companies, larger (10-100 developers) mid market teams typically charge $125 – $175 an hour for mid to large sized projects. Mid market class developers will do medium sized projects, but also work with the occasional Fortune 500 company. As you would with small class developers, to reduce risk, always check references.
Big Business Class: A big business class development team (more than 100 developers) can be a great choice for companies that can afford high rates and project minimums. At $200 – $300 an hour on average, big business class development teams come in a bit below enterprise class, but are certainly not inexpensive.
Enterprise Class: At the highest level of the software development tower, enterprise class development teams are characterized by quality, low-risk, superior results. Hourly rates can range from $250 – $850 an hour, and it is completely normal for teams to have hundreds (even thousands) of developers. Though enterprise class teams are often a top choice for Fortune 500 companies, they are more likely to leverage the waterfall model (rather than using the increasingly popular Agile method).
The historical waterfall method can be risky when it comes to product adoption. It does not consider the flexibility of creating an MVP (Minimum Viable Product), but rather sets project specifications and attempts to complete them all at once (without user feedback).
I know what you’re thinking, so where does SingleMind fit in?
SingleMind is unique: we boast a small, nimble team, but hire senior level developers with more of a big business mindset when it comes to quality, innovation, and scalability. We have the experience and knowledge within a smaller, agile team.
It sounds cliche.
However, it is true. The most important consideration when deciding to build custom software for your business is value. It’s important because sources indicate that approximately 68% of software projects fail. And the number one reason for failure is not lack of funds. Consider this rather large list of failed software projects, how many do you think would have been successful if they had another $100k, $500K, or $5M in their budget?
SingleMind is an awarded software design and development consultancy. We serve enterprises, innovative startups, and non-profit organizations around the globe. Our diverse, agile team has more than 15 years of success in designing and developing digital products (mobile apps, websites, web apps, etc). Our goal is to help businesses thrive in today’s ever-evolving, omnichannel world of technology.
Written by Graham Eichman