Why do you have to answer so many questions when asking for a project quote?
If you want to commission someone to write a computer program, mobile application, or website, then probably the first thing that interests you is the answer to the question of what the cost of writing such an application will be, i.e., how much you will have to spend to realize your plans.
Here’s how it usually looks next…

You go to a programmer, a developer’s studio, or a software house (for simplicity, I’ll just call him a programmer) and right at the doorstep you ask how much they will charge you for completing the order. You don’t want to waste time describing the project in detail, because why waste time when it may turn out that it will be too expensive here anyway. So you describe your vision in three words, ask for an estimate of the application and … you are bombarded with a hail of questions.
Why?
A developer can, in such a situation, propose a price that is completely out of this world (perhaps they’ve landed a wealthy client), or they can approach the matter diligently and try to estimate the project realistically.
To provide an accurate estimate – one that satisfies the client while also ensuring the project isn’t done as charity – the contractor must determine exactly what needs to be accomplished.
It might seem, then, that a description like “a portal similar to Amazon” or “a website just like [insert competitor’s site here], only with our company’s logo” should be sufficient for anyone. After all, everyone knows what it looks like and how it works, and if not, they can simply visit the site, click through all the menu options, and everything should become clear.
Unfortunately, that’s not how it works.
Imagine you’re a bricklayer and you receive an order to build a house… one just like the neighbor’s. Let’s also assume that you can freely observe the neighbor’s house from every angle, but you’re not allowed to step inside.

Are you able to precisely determine which rooms, walls, floors, and stairs you need to build to ensure your client is satisfied? Do you know how many rooms should be inside, how many partition walls need to be erected, how many doors must be installed, and how much work in total is required to complete the project?
To estimate the work needed to construct a house, you must have a building plan. Likewise, to assess the cost of developing a computer application, its project is essential – more precisely, the project’s specification. If you don’t have a specification, you must either prepare it yourself or develop it together with the contractor.
Are all the details necessary for estimating the project’s cost?

To estimate how much work needs to be put into a project – and, consequently, how much should be charged for its completion – certain operational details must be known.
In the case of building a house, there is no need to determine the planned wall color, type of tiles, or whether the bathroom will have a bathtub or a shower cabin, but detailed floor plan drawings are indispensable.
Similarly, with computer applications, no matter their nature, a developer must understand exactly which components need to be created, which mechanisms must be built from scratch, and which libraries require customization. This knowledge is essential before making a project estimate.
How do you create a specification that clearly outlines the tasks a developer must complete? More on that soon.