There are several major cases when people turn to a web development company. Each of them has its own challenges.
The majority of web projects start with clients having some great ideas but no understanding of how they’re going to work. They need help in structuring their wishes, clearly understanding their own project, and seeing the whole picture.
Many companies, instead, offer to start the development with “what you’ve got.” Then, the client invests more and more money, the project gets more and more complicated, the requirements change, and the deadline is constantly postponed. At the same time, it’s difficult to abandon it: people commit sunk cost fallacy continuing to invest additional resources into the project. Because they’ve already invested so much, they don’t want to believe it was in vain. They become dependent on the current company and lose even more time and money.
Some clients want a “copy” of an existing project. Many projects seem simple and easy to reproduce when you judge by their interface. But analyze how they work - and you’ll discover a complicated solution.
You see only what’s publically available, even if you take the trouble to research all the paths of user interaction available to you. But consider that there are different user accounts, and the functionality for them usually differs. Being on a Basic account, you don’t know the specifics of the Premium account. And a user of a Premium account doesn’t see the limitations of the Basic plan.
Each project is like an iceberg, and you see only a tip of it. It’s the public part. The business logic and admin panel are hidden. The development of the admin panel itself can require a lot of resources. Usually, an outsider has no way to get inside the admin panel of a website. But even if you happen to get admin rights to the website you want to copy and you can see how it works - it’s not enough. The background processes will remain known only to the developers of that project.
You might have a startup. You need an estimate corresponding to the resources you will actually spend on your project. To raise funding, you need to convince people to invest. You need reasoning, a rationale that will help you create a winning pitch deck. Self-made prototypes often can rather harm your startup because you won’t be able to make a compelling presentation. The opportunity to get investments might be lost when the investors try out the prototypes, fail to understand the idea, and refuse to fund.
Or maybe, you need a redesign of a current project. It seems to be an easy task. Some people are even sure that they don’t need the whole development team, that a designer alone can redesign, say, their website. The problem is, in most cases, you can’t transform an old website into something completely new by just “redecorating” it. Appearance and functionality are closely related. Also, the old frontend might be created using outdated technologies that are not supported anymore. So if you want a redesign, you have to identify the correct value of resources needed for a project.
Note: Often, people turn to the company and explain by word of mouth what they want. Others previously gather information and can provide a written document describing their project. But, in fact, it’s usually not enough. However, often, people don’t understand how much and exactly which information they actually should collect for developers to start their work. For example, you write a brief and call it a PRD. If it’s all you provide, you might get unexpected results.