D
D
Dmitry Petrik2013-01-09 12:02:03
Programming
Dmitry Petrik, 2013-01-09 12:02:03

How to estimate the real cost of the project?

I am developing websites. All sorts of different ones. Starting from blogs, ending with corporate portals. I had to develop applications from scratch, without any engines, etc. And the question constantly arises, how not to miscalculate the cost of the site?
So far, I’m taking the figure from the ceiling, based on the ephemeral amount of work that has developed in my head after voicing all the wishes of the customer. And as practice has shown, this method of evaluation is completely unacceptable. Often "flew" with an assessment. It turned out that the amount of work was actually disproportionately larger than what I had imagined. And to tell the customer that I miscalculated in the assessment and the price increases by 2-3 times, in my opinion, is a sign of bad taste.

I'm sure a lot of people have experienced this before. Who has developed what evaluation criteria for themselves? How do you estimate the cost of work? How to correctly estimate the cost of a site being developed on a ready-made engine or a web application that needs to be written from scratch?

Answer the question

In order to leave comments, you need to log in

9 answer(s)
E
Eugene, 2013-01-09
@Methos

You just need to always multiply by 2, at least. + add a few days. Then it will be nice to work.
The cost of something does not add up to development time at all, it depends mostly on how much the client is willing to pay for it. For example, if it takes 5 hours for a professional to do something, and the average price of one hour on the market is 500 rubles, this does not mean that this pro will need to pay 5 * 500 rubles. Another pro can do the same job in 50 minutes, pay him 500 rubles? And if a beginner does it in 5 days, will he really need to pay 5 * 8 * 500 rubles? =))

A
Alexander, 2013-01-09
@Alexx_ps

If you have such a problem, then try working on a fixed price model for a fixed period of time. In fact, you offer the customer to work according to Scrum. You take N thousand rubles for every 2 weeks of working time, every 2 weeks you roll out a working functionality for it. This is what we do when there are difficulties with the final evaluation of a large project.

P
pletinsky, 2013-01-09
@pletinsky

Exit 3 in my opinion.
1) Maximally detail the requirements, developing technical requirements before the start of development, conducting large-scale work with the customer.
Then the risks of flying will depend primarily on how you will work to ensure that the customer subscribes to the requirements you have drawn up and on how detailed and accurate you describe them.
Pros: Works well for small projects, competitive projects, TOR work can ideally become purely technological and go like clockwork.
Disadvantages: a lot of work on the formation of requirements, high risks that along the way it turns out that everything had to be done wrong, the need to sell this cycle of work to the customer.
2) Conduct a high-level planning session evaluating not only the scope of work, but also the anticipated risks based on the experience of previous project evaluations.
Then the overflight risks will depend on how advanced assessment technologies you use.
Advantages: it works well if there is a lot of experience in project management and metrics were taken from them.
Disadvantages: Requires a certain level of professionalism in project management.
3) Work iteratively by releasing short releases with pieces of functionality, paying for each release.
(Iteration is not necessarily agile.)
Overshoot risks will depend primarily on whether you can form the requirements in such a way as to release the application with such releases. This is usually possible, but not for everyone.
Advantages: the risks of failure with the understanding of the requirements are minimized, as we form them as we work, the customer is satisfied with seeing constant progress, it is possible to correct further forecasts of the remaining time based on previous iterations.
Disadvantages: requires serious processing of the customer to work in this vein, especially for those who already have a budget allocated for implementation and at the competition.

S
Sergey, 2013-01-09
Protko @Fesor

Well, for starters, you should decide on a technology stack. That is, as for me, every time a bicycle is pissed, this is also a sign of bad taste. I hope, nevertheless, you meant development on some popular framework. If so, then select extensions for it based on experience (where something happened often). A project is made up of individual tasks, modules, or parts. Call it what you want, they are still evaluated, and not the entire project as a whole. At first, you can just figure it out, but I think one or two projects you will not get a sane assessment. It does come with experience though. Remember how much time it took you to develop a particular part of the project.
And one more thing - add risks. They say the estimated time is multiplied by a certain coefficient. At first, you can take this coefficient equal to two and gradually change it based on statistics.
Well, use more ready-made solutions, libraries, in your free time, try to optimize these libraries for your work process, for your tasks. In a word, remember everything you do and try to minimize time costs in the next project.

H
Hungry_Hunter, 2013-01-09
@Hungry_Hunter

In this matter, the development of a detailed technical specification, which you develop and approve together with the customer, will help.
Everything that goes beyond the TK is paid separately.

S
Skull, 2013-01-09
@Skull

I don’t know how it is with CMS, but if you write from scratch, then after the 20th project you will start saying an estimate with an error of 10-20% (of course, if everything is described in advance in the TOR and it does not change).
I usually do this:
1) I divide the project into sections that I am sure that I will do without Google and stackovewflow, I estimate the time needed, multiply by 1.2
2) I estimate the time for the remaining non-standard sections and multiply by 1.5
3) If the project has communication with other services or an external data source (loading the price list into the database, connecting to 1C, parsing data from somewhere else) - I estimate the time in the ideal and multiply by 5 (sometimes I would need 10)

L
Leanno, 2013-01-09
@Leanno

Competitive analysis also works very well, as well as the use of the latest features on the site. You can always brag and say that the site is one of the most advanced in technical terms.

T
tmikwid, 2013-01-09
@tmikwid

The method is very simple - first you estimate the labor costs, decomposing what needs to be done as detailed as possible - for example:
1. Project plan 2hrs
2. Software architecture 4hrs
3. Features:
- feature1 4hrs
- feature2 4-8hrs
4. Testing 0.3*overall effort
5. Bugfixing 2*testing
6. Deployment 4hrs
Then you sum up the hours, multiply by the cost of your working hour and by a certain coefficient calculated empirically.
This will allow you to estimate the labor costs as quickly as possible BEFORE writing the TOR, which many customers really want. Of course, after the TOR, the assessment will be adjusted, but how it depends on the specific case and the specific you.
Some - add three columns with an estimate of labor costs - Optimistic, Realistic and Pessimistic.
Well, there are many other tricks.

G
Gena84, 2013-01-10
@Gena84

We decompile the project into separate tasks and keep statistics on these tasks. To calculate the cost / time, these data are used, taking into account the specifics of the client (his experience, accuracy and knowledge in IT, desire to complete the project, etc.).
And to determine the cost of the sale, you have already been given advice: competitor analysis, selling “benefit” for the client, etc.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question