Top—level description of the project – what kind of service, what problems it solves, the target audience.
A list of roles, more precisely, categories of users who can use the service;
A list of functional requirements, that is, the capabilities of different users;
Requirements for integrations, for example, with a payment system;
Additional requirements, if any;
The wish list for the next versions is what they said, but decided to exclude from the project.
Prototypes that make it clear what functions are in the service and what all possible scenarios of working with the application look like.
In other studios, as a result of Discovery, other documents may be transferred to the customer. For example, MindMap with scheduled processes. For clarity, we also do business process analysis in this format, but I don’t see the point in overloading the customer with additional entities – he is unlikely to need this relationship map anyway, because all the necessary data is in the TOR.
Together with the technical specifications, we also announce to the customer a commercial offer — how much we estimate the project, how long we will do it, what options are there to save money or make the project faster.
“The TK that the customer receives as a result of Discovery can be used to evaluate the project in other studios. Most likely, other developers will have enough data to quickly announce the amount and timing, without trying to sell you additional analytics”
How does Discovery differ from deep analytics
Fast analytics with the help of Discovery is great for the development of technical specifications, it is convenient to clarify customer requirements and formulate requirements with it. The same can be done with the help of deep analytics. But there is a key difference between these two approaches.
With the help of deep analytics, the customer and I work out the TOR in detail, specify the cost and timing — it’s cool. But at the same time we severely limit ourselves.
We have evaluated every detail, everything, the entire budget has been calculated. If the customer decides to add some significant functions to the project during development, they will either have to re-evaluate the project, which is long and expensive, or simply allocate more money and still finalize the TOR. The flexibility of the project is lost.
At Discovery, we can agree in advance — that’s exactly the amount we are doing, but it’s not clear yet what these functions are, so we won’t waste time and money on evaluating them. Let’s agree like this: for incomprehensible functions, we will either work by the hour, or we will transfer it to the next version of the project altogether. That’s it, the evaluation process has accelerated, we have saved several months and hundreds of thousands of rubles.
Try to conduct a “Discovery” yourself
“Discovery” is the process of turning a customer’s idea into a technical specification and prototypes, according to which developers will evaluate the project and announce to the client the terms and cost of work.
We charge money for such analytics. But I am ready to share one of the versions of our internal methods, with the help of which the analyst studies the customer’s projects and forms a technical specification — here is the download link on our website. Try to go through it yourself, formulate a description of the project, categories of users and their capabilities.
Write questions in the comments, if something is unclear, I will try to help.
Web service development: why is there a team leader, PM and tester on the project?
When ordering web development, many clients have questions – is it true that besides programmers, project managers, team leaders, testers are needed to implement the project.
These doubts are understandable, because no one wants to overpay. Therefore, many entrepreneurs question every step so that the development of a mobile application or web service does not cost too much. In this article, we will tell you why the development team is not just developers, and how the rejection of other specialists will affect your project.
“Maybe we can do without a project manager after all?”
If we are talking about a simple project, for the development of which one person is enough — yes, you can try. If the creation of the service requires the participation of two or more developers, then a project manager is necessary.
Let’s figure out how the team works. Custom web development requires several different developers. Someone creates a service backend, someone creates a frontend. There are also full-back developers who do both. The project is divided into many
separate small tasks that are solved in parallel. They need to be distributed among developers, and this is the responsibility of the project manager.
At the initial stage, a project manager is a person who negotiates with a client. He analyzes the requirements for the project, evaluates the timing and cost, discusses possible problems and risks. PM informs the developers of the customer’s wishes, the meaning and benefits of the project, motivates them to work.
The project manager must understand agile methodology, understand the principles of development, know the team in order to distribute the workload. After the start of development, he monitors the execution of work, provides communication between developers and the customer. The main point of his inclusion in the team is the correct organization of the workflow and control of deadlines.
Some are trying to shift the responsibilities of the project manager to one of the developers. But this always leads to a decrease in speed and quality, because a person is eventually forced to break away from performing their own tasks, lose focus. The PM keeps a holistic image of the product in his head and systematizes the performance of individual tasks in order to come to the desired result for the customer.
“So, well, the project manager organizes the work of the team. Why then a team leader?”
Team leader — first of all, it is an experienced developer with high expertise. Unlike a project manager, he understands not only the general principles of writing code, but understands it very deeply.