How much does it cost to develop a web app or application?
You’ve probably ended up here because you have an idea for a web application and want to see if it is something that can feasibly be done within a certain budget. For the most part, the bulk of the budget you are putting forward is for development time for experienced programmers, designers, and product managers. Getting to a single number for your project without knowing anything about the project is pretty difficult for any development team.
To start understanding how much an application will cost means that you need to understand what goes into making the app.
Learning: Functional Specification or User Stories
The beginning of any software development project starts with a detailed understanding of what the application does. There are two different methodologies we use when working with new clients.
The first is to request or consult with the client to create a functional spec. A functional specification is a document that describes the exact behavior of an application. Typically functional specifications are written for more complex systems where more needs to happen than just a traditional user input / output. Most enterprise clients we work with prefer this method as it traditionally follows a waterfall approach to development. It also allows for a very accurate time and cost budgets. However the downside is that this method does not support change throughout the project very well.
Writing user stories is the second approach we take to web application development. A user story is simply one or more sentences that describe what an end user of the application does or needs to do. An example or a user story could be, “As a user, I want to take a picture that is immediately uploaded to my account.” We like to follow the 5w approach: “As <who> <when> <where>, I <what> because <why>.” Typically user stories are used with an agile software development methodology to define how an application must function. User stories are a bit more flexible than a functional specification as they are typically a bit more vague than a functional specification. Because of this, the agile approach encourages a very flexible application development process because it focuses on iterative and incremental development.
Which method is better?
There is no right answer to this question although some may argue both ways. To answer this question for your scenario can be most likely determined with these two questions:
1. Do you have a fixed budget and time-frame with exact features that must be developed?
If yes, than the waterfall functional specification is likely for you.
2. Do you have an idea with features than may change many times throughout the development process as the application matures?
If yes, then the agile methodology of user stories is likely the best approach for you.
From our experience, a functional specification (waterfall methodology) is typically used in enterprise scenarios where the system is unlikely to change very often.This allows for a very well written and scoped plan. A good analogy for this method is to think of building a house. A plan is developed, scoped out, and built to specification.
On the opposite end, user stories (agile methodology) are more typically used in a consumer application where the user’s input / output makes up most of the application. These applications typically need to be extremely flexible and nimble. The downside of this methodology is that there is not usually a set time or budget. A development team is usually paid for a set amount of time like a week or a month. The team delivers as much as possible within that time frame but there is not an exact feature set that will be delivered at the end. Clients order features it terms of importance and the development team works in that order to get them done.
Here at Otreva, we don’t force one methodology or the other onto our clients. Every project is different. We successfully operate using both methodologies and many times use a hybrid approach that combines both. It is always good to start with the end user of an application and write out user stories for them while ending up with a functional specification that compliments the stories for some of the backend features that aren’t necessarily visible to the user.
How do I find a good development team?
The best way to find a great fit is to research a few companies who you like and communicate with them. Don’t just focus on who can deliver the lowest cost. At the end of the day, you’ll want a team you can trust and who can help you meet the goals you’ve outlined. At the end of the day, achieving success by meeting your goals should be your number one priority. We’ve taken on dozens of what we call rescue projects for many reasons. A rescue project is a project that was usually focused on cost and/or the original team couldn’t meet the goals. However many times we see rescue projects started by very talented freelancers who are snatched up by larger companies leaving the client stuck with a half developed work. These rescue projects always ending up costing the client more money than if they’d started with a single team who could support their application throughout the lifecycle.
Software development isn’t just about coding something into a functioning application, it is about success of that application.
Ok ok, so what is the cost of an average web application?
Hopefully you now understand that every single project is different. That being said, on average our team has about 100 billable hours per week for our custom projects and the average web application project lasts about 3 months and costs in the $100 – 150k range.
The goal of this article was to help you understand what goes into developing a web application and give an idea of what an average custom web application costs. At the end of the day though, we hope you learned that focusing on cost alone will get you into trouble. Finding a great development team should focus on trust and success.