In this study, we’ll look at the multiple phases of development that in-turn govern the pricing of the end projects. There’s also another study linked that shares a similar message, albeit directed towards a more specific demographic and platform. Any other packages wanted should be included in your estimate as well, based on the principles below with price increasing accordingly.
The budget can vary widely. It could be anything from one thousand dollars to upwards of six figures.
The demographic for these kinds of projects falls under enterprise clients. However, we can also perform the same projects for consumers.
One should consider the marketing aspect to this as well. In many cases, marketing and development go hand in hand.
The topic that always arises, “How much is it going to cost me?” The always reluctant answer, “I can’t tell you, we’ll have to price it out.” These two go-betweens are the typical foundation that every project, agency, studio, or freelancer is built upon. It’s often either the first or last subject brought up, depending on who you’re working with. So the real question, how much does it cost? There’s not an answer, not really. Everyone always wants something different, which means added time, which means additional testing, which means fewer other projects, which means higher rates.
First, if you want a very quick, condensed version, check this other post What we’re going to do here is share this study of everything being broken down. Now please understand that every group does not operate like this, this is just the general industry. Primarily what we’re going to do is put you into the position. In essence, walk you through everything that happens. So, the essential process is this: Contact -> Meeting -> Project Focus -> Details -> Multiple Prototypes -> Chosen Prototype -> Infrastructure -> Server -> Design -> Development -> Additional Features -> Stress Testing -> QA Testing -> Cyber Security ->Additional Testing -> Final Product -> Invoice.
Don’t be intimidated, we’re going to explain each step, how it works, what it does, why it’s necessary, and the general amount of hours put into it. After this, you may feel something to the effect of thinking that it’s overbearing, or worrisome because of so many steps. Don’t, people in the industry love doing the work (most of the time). However, because of all of the steps, often times (unless it’s a larger group) there will only be a couple on ongoing projects at a time. Because of this, the price increases. In addition, taking into account liability, the volatile nature of development, pinpoint precision needed, it’s why the developer rates are so high (averaging around $150 / hour). A lot of people would think, “That’s ridiculous, they’re just building software.” Then those same people will justify major companies spending millions on DevOps teams of engineers to keep things running and secure.
I digress, let’s move forward. I’m going to try to cover multiple topics at once, to save time. That way, you get the information, in a timely manner. So, the first group we’re going to cover is ‘Contact -> Meeting’, or Contact into Meeting. When a consumer is interested, they typically call or email the company, with an inquiry. With the exclusion of email, to take that call and focus, work stops. Sometimes calls last for hours, sometimes it’s a few minutes, all of the time could be spent on development for another project. Moving on to Meeting, when (most often) a developer, or (in some cases) a director, has to leave to go attend a meeting or holds one in their office, the clock stops. Now a common exception that is made, is having a meeting over lunch, or something mutually beneficial. No one is going to bill for lunch, most of the time the agency or client will cover both people. However, a lot of times meetings are held in offices, board rooms, conference rooms, or other areas. After a meeting moves past, give-or-take 120 minutes, it’s typically billed for. This is primarily because it’s proving to be a larger endeavor, which will take time away from other projects. Without going into intricate detail, that’s primarily those two steps.
Moving Forward into ‘Project Focus -> Details,’ this is where the process starts to take shape and become its own project. Project Focus roughly translates into coming back from the meeting and putting together concept sketches, or very early mockups to get the general idea of what the site and/or server is supposed to do. Details are more so taking the feedback from those sketches, and fine-tuning the purpose, the priority of different functions, how they should operate, and in what manner.
The next section is where it should all start making sense or coming together as one large process. This is also the part where (typically) people start to understand where the cost comes from. ‘Multiple Prototypes -> Chosen Prototype’ describes the process commonly know as ‘A, B, C-ing’. It means that going on your acquired details, you create (typically) three different prototypes. All of these would have features implemented that the client was looking for, just implemented in different ways, you understand. Making one of these would normally take time, making three takes around two to four days. When you start to get into early development, you have to factor in resources as well. Not just personal resources, but company resources. How many license keys are we going to use to showcase these products, how much time is it going to take to make everything from scratch, how many developers are going to have to be pulled to work on this project, each person in the company starts to play a role? Chosen Prototype more so describes the process in which another meeting takes place where the client asks different questions about each, the company would typically give a demonstration of each, then they choose the one that they like the most. From there, other measures start to be taken.
‘Infrastructure -> Server’ is where everything really starts to take shape. After the client chooses what they want things to look like, and how they want it to operate, real work begins. Teams would get together and choose the right operating system and panel that suits the client’s needs the best, and start to implement it. After the server is chosen (including choosing server resources), the operating system has to be set up. Meaning that, after it’s compiled and brought online, you have to install any necessary frameworks and/or dependencies (There can be a lot), as well as modifying anything to support the new user. After those are finished, the panel has to be compiled, created, and configured. All of these things take time, each in their own regard.
‘Design -> Development’ is the most iconic duo in the process. It starts with UI / UX Designers coming together and finding the right inner-workings to make the client’s vision a reality. They figure out the right way for things to work, the easiest way for the clients to operate their new systems while retaining all of the in-depth functionality. The other half is where Front-End Developers, Programmers, and Back-End Development takes place. Once the UX / UI team relays their final decision, supported by documentation and testing, the development team takes over. Using that information, they use multiple coding languages to bring everything into reality. Which includes but isn’t limited to, developing the framework for the website, the access to the databases, then developing the website to look and act like the information relayed by the previous team. Additionally, any features that the previous team thinks should be added on would be created here at the cost of additional time and resources being added in.
Testing. Specifically Stress Testing and QA Testing. Stress testing involves testing the framework to make sure that it can hold up in the day-to-day environment. Essentially it’s going through every function the site serves to make sure that everything works correctly and doesn’t break on execution. QA Testing is more so looking for bugs. Things moving around where they shouldn’t be, UI elements becoming inconsistent or falling apart, and making sure that aesthetically everything is where it should be, in addition to the back-end working correctly. A common QA term used in the Video Game industry is ‘Beta Testing’.
‘Cyber Security -> Additional Testing’ is where a team would typically go in and lock down everything with methods such as long-string alpha-numeric passwords, SSH Keys, SSL Certificates, Proxy’s, and any other methods that are deemed necessary or wanted. Implementing these take time because if it’s not done right, an exploit can be left open for someone to compromise the system and take down everything. As such, the next step is required. Meaning that it’s required to stress test the security that would have been added. So, another team will try to break into the server or system form the outside using major exploit targeting, or brute-force tactics.
The final steps are more-or-less self-explanatory. The final product would be sent to the client for inspection after they agreed that they didn’t want any more changes, or were happy with how things were, the next step would happen. Everything would be transferred over to the new owner and they would be billed for all work done thus far. Typically this entire process is why most custom development jobs can be anywhere between 1,000 and 1,000,000. I hope this has shed some light on the entire situation.