Estimating the cost of an eCommerce project is not easy. In this post, we’ve fused our own experience on custom software estimation and the best (worst) practices that exist in the IT environment.
Here, we’ll tell how the software cost is calculated, why it is not so easy to estimate, what the price is composed of, and how you can minimize the cost of development without risking the project launch.
Why is it not so easy to estimate the cost of development?
When you first contact us, you are dealing with a sales manager. His or her first and foremost task is to help you identify the project goals. Based on the experience, this specialist can roughly say the cost of the requested development, but its boundaries (from low to high) can be very wide. We call it a rough estimation of software development. At the time of your first request, often there is no technical assignment (specification), and it is impossible to give an accurate assessment of what should be done. Even the announced numbers will be approximate in this case.
It is also difficult to say about the cost of development because we deal with custom solutions. This immediately implies that the project is individual. Custom development means that you need to take into account many details.
Imagine you are in a store and looking for a new wardrobe. You can buy a standard model or choose a custom made version. The latter approach requires detailed study: you need to know exactly how to choose the color to get the desired one, understand different coatings so that the paint smoothly lays down, etc. Standard project cost is clear. A customized solution price can be escalated further while your requirements and wishes grow. Without a collection of requirements done, it is impossible here to give you an accurate development cost estimate.
It also happens that you come with your user requirements and, it seems, nothing complicated, you just need to have our price written in front of each item on your agenda. Here, too, there may be pitfalls. Documents may vary in degree of elaboration, or its originator did not clearly formulate the requirements. If these are high-level requirements, they can be estimated very roughly. Additional meetings will be required to clarify the request and form a more accurate estimate. For example, you can specify that your store should have a Customer Profile. It tells us nothing.
A Customer Profile may/may not contain the purchase history, favorites, personal information (for example, user measurements). There may be many details specific to your business that will affect the cost of development. All these details should be pointed out and described down to the color of the button and its position on the screen in the user requirements. In addition, knowledge of the platform itself is required in order to say for sure whether the requested feature is standard or changes are required. The more precise the description, the more accurate the estimate is. You can read more about collecting user requirements.
Who estimates the cost of development
- After collecting the initial requirements and wishes, your request is conveyed to technical specialists for elaboration. They analyze how your request is covered by the real capabilities of the platform.
- The cost of the project is determined by the system analyst together with the developers. They count the labor costs for development, taking into account the submitted wishes. The amount of labor hours depends on the chosen technology and functional requirements. To tell you an estimate, the analyst looks at the best solutions for the given platform, analyzes various implementation options, and then makes recommendations for the project in the way it could achieve its intended goals.
- We define the composition of the team to fulfill your request to the best.
- As a result, the analyst issues a conclusion on the price and deadline for the project.
- The sales manager then comes back to you with a rough estimate or the price boundaries, as still we cannot say for sure what other features will be included in the project before the specification is made.
Why custom development? Is the out-of-box platform enough?
It often happens that the out-of-the-box functionality is not enough, or it does not fully fit your goals. To understand what exactly is missing and what to customize for the needs of the project, the developer should know the platform inside and out. Our team offers customized solutions that you won’t find in the default based on the needs of your business.
IT is developing towards custom solutions, and out-of-the-box software only helps with the basic functionality. Together with the digitalization of all areas of the economy, your competitive advantage is an individual approach. You can’t save on it but a miser pays twice. Let’s say you’ve analyzed your audience and know what business challenges you face. You submit a request to an IT company. Your request first goes through an analysis of user requirements. Analyzing different options, we select what suits your requirements taking into account the features of the platform. We analyze your business specifics and adapt them for the default functionality. What goes beyond the boxed solution is customized.
Software development formats
- Time & Materials (T & M) / Dedicated Development / Dedicated Team is suitable for projects with a high degree of uncertainty or when changes will be made during development. The rate is estimated per hour of work of a specialist. You receive a report on completed tasks and pay for hours taken.
- Specification is a description of the work to be done by the developed functionality that you pay one-time at a fixed price.
Payment types: what to choose and when
- A project with hourly pay (T&M/Dedicated Development) is a more flexible work option. Every month/week, a dedicated specialist/team gives a report indicating the number of hours spent on your project. If you suddenly realize that it would be nice to add another feature, then this will not require compiling a new agreement. Dedicated development is suitable for large projects implying significant changes or constant technical support of the project in the future.
- Fixed cost payment (specification) is suitable for small and medium projects. You know exactly what you want and do not plan to change the concept of the project much in the course of work. For you, working according to the specification is ideal. Also, this payment option is suitable for a limited budget. However, if after the start of work you decide that radical changes are needed, a discussion and agreement on a new specification will be required, which you pay separately. Think in advance if nothing will change. Very often, after a part of the functionality has already been implemented, there is a need for additional functionality, which was not even discussed at the beginning of the project. If you are sure that there will be no changes, then the option of working according to the specification will help save money.
Why does one developer hour cost more than another?
Different companies may tell you different costs for software development. At the same time, at a higher labor hour, one company will show the result with lower costs, while the other, at a lower hourly rate, will spend more hours. How to choose?
Let’s consider what the cost of a developer hour is. This concept is very ambiguous and does not reflect the real cost of the order or your project. Development may require a different number of various specialists. It all depends on the project/modification complexity, and on the deadlines that need to be met. The cost of an hour may vary depending on the specialist qualification. For example, one developer develops a feature in 3 hours, and the second one makes the same in 1 hour. If the first has an hourly rate of $10 and the second has $20, then you overpay in the end, despite the fact that the first has a lower rate.
Estimating the cost of development based on the hour rate is wrong. It is better to focus on professional IT agencies that will offer you the optimal composition of specialists.
When we tell you our estimate, be sure that we have balanced the team in terms of composition and qualifications to recommend the best implementation in terms of price and timing.
How is the development cost estimation done?
The evaluation process takes place in several steps:
- Meeting or phone call to collect your requirements. Together we outline the goals of the project, its audience, discuss the technical aspects and their purpose.
- The collected information is conveyed to analysts and team leaders. They pre-evaluate the project, the dependency of new functionality with what has been already implemented on the platform.
- Assessment of the current load on the team. We compare it with the deadlines for the project implementation. We determine what resources will be required and what team composition is needed.
- Calculation of the cost of the project based on the composition of the selected team. We multiply the number of hours by the cost per hour and sum it up.
Development cost estimation example
Request: after the customer has his or her order delivered, the system should show a pop-up to the customer to evaluate the vendor.
- Are there any mockups of what the popup will look like?
- How do you see the calculation process and its visual representation? If ratings will be stars, then how should they be painted over? Which color? Is there a brand book or style guide?
Team: team lead, designer (if there is no mockup), front and back end developer, tester, sales manager.
Why do different companies estimate differently?
You may think that if IT agencies are balanced in terms of the labor hours, then you can send your user requirements and just compare the received offers? Then choose the agency that will make the project faster or cheaper. Here you will find a nuance.
Differences in evaluation most likely indicate that contractors priced different things. Companies might see the implementation of one and the same project in different ways.
You are sure that you get an estimate for the same amount of tasks and similar performance. However, in reality, you are choosing between development approach A and development approach B. They may differ:
- By the scope of work – different execution and resources involved;
- By the team composition;
- By test coverage (often, this item is omitted to reduce the price).
If the labor hour does not vary greatly from company to company, then the scope of work and additional services may differ significantly. For example, development that includes automated testing is more expensive. Autotests show a higher level of development, but require more time and budget, which is included in the cost.
Some contractors are too easy on the estimate, not allowing for possible further scaling of the project, which gives them the opportunity to underestimate the cost. Others are overly reinsured, pledging more than the customer asks.
As a client of an IT company, it is important for you that the hired team becomes your asset. To do this, you should not chase cheapness, but focus on your business goals and evaluate the return on investment from the implemented improvement. In order to choose an IT company rationally and not run into an unscrupulous contractor, it is useful to first study the developer company itself. We have prepared a checklist that lists what you should pay attention to when choosing a project contractor.
Why does the cost of the project change during the course of the project?
In fact, modifications, especially for large projects, are difficult to plan from end to end. In the course of work, most requirements change.
A strict specification gives the illusion of control. The assessment of such requirements is rational if the project is small, and you know for sure that there will be no additional requirements or changes.
You can minimize the cost of the project by planning the site architecture in advance. With us, this is possible through the Architecture Design service. We will collect business and functional requirements ourselves, impose on the capabilities and limitations of the platform and select the best solutions for your business.
Development cost estimation example
We received a request to evaluate the improvements. After the initial study of the requirements, it turned out that some of the functionality is present by default, and some is implemented through add-ons. The overall estimate of improvements as a result decreased:
- Separate personal accounts for buyer and seller (available by default)
- Order management (needs customization + Order status restrictions add-on)
- Chat with the seller (available by default)
- Moderation ability: control of internal chats, seller ban, buyer ban, separate chat with a moderator (available by default)
- Protected feedback system: feedback can only be left by the buyer confirming the receipt of the order (needs customization)
Thus, knowing the features of the platform and all the functional and business requirements, we can reduce the cost of your project without affecting the quality of development. Having a large staff of developers, we select the optimal team for your project. With more than 16 years of experience customizing eCommerce projects, we can safely say that you get the most honest price for your project.