
We have been developing websites of various degrees of complexity for several years. For 5 years, we have made more than 300 projects. In our work, we do not use templates, the design is unique and is designed to meet the needs of the client. We do not take a ready-made CMS and do not try to bring the client’s tasks to a typical solution; we use the Django Framework and develop a site that fits the task as best as possible. In general, we are trying to make the highest quality site that we can. How can you not break your back, achieve a result and earn money to develop further?
While we are thinking about the quality of the product, the client wants to get results as quickly as possible, the site should immediately work stably, the design and interface should meet the client's expectations, and even be above those very expectations.
')
To achieve maximum efficiency, we have seen that we need to change the approach to development. The standard option with the sequential organization of the project stages does not suit us. Therefore, in this article I would like to share our experience and thoughts on the most effective system.
The main problems of the usual approach that prevent us from working effectively
Incomprehensible agreement. We have to agree on the site design without mutual understanding of the entire project structure. The technical task of complete vision does not.
Multiple problem statement. Immediately everyone (the programmer and the designer) will not be able to set the task, as the programmer starts work after agreeing on the design of the site. As a result, some points and details are missing.
Dear design stage mistakes. The designer may be mistaken or miss something that will remain unnoticed until the work of the programmer. The designer is forced to correct shortcomings when he is already immersed in another project. This affects the quality of the product.
Weak team communication. With consistent work, a single team is not formed, and each works separately on his stage.
Waiting for information from the client. The client sometimes prepares for a long time all the necessary information for the site so that we can process it and bring it in line with the general expectations. We also need to work with her, and the working group is already busy with other projects.
As I wrote above, we do not use ready-made templates and spend a lot of time designing the site. For us, this is a responsible and important process, so it takes more time than we would like. Sometimes the client wants something strange and here we still spend time on long coordination of the models, sometimes we ourselves cannot immediately find a suitable solution.
As a result, all the terms are floating, the client begins to rush with the result. There is no time for detailed testing and for working on small pleasant trifles (beautiful modal windows, pleasant validation of forms without reloading the page, convenient filters, the design of letters for notifications and much more). The site looks something like this:

Such a result is unlikely to suit anyone, and then there will be many problems in supporting the project and further working with the client.
Effective solution
The obvious solution in this situation is to start the programming phase in parallel with the design.

Website development is not building a house, we can always change something and fix it. The main thing to start and all the problems will quickly make themselves known, and some of them will decide on design or early discussion with the client.
An extra, at first glance, additional design stage appears, but this is not at all the case. It is difficult to work with a detailed technical assignment, since this is a fairly voluminous document. Text information leaves a lot of room for imagination, so all participants in the process present the end result in several ways. And the person who makes the decision on the part of the client rarely reads a large and voluminous document. It is much easier to see the prototype and make a decision. The prototype allows you to better “see” the structure of the future site and therefore there will be fewer problems when entering customer information, and the prototype is much easier to prepare, since there is already a project vision.
Thanks to the prototype, we do not spend time writing detailed TK, but we can start programming in parallel with the design of the site. The designer removes the additional task of designing the entire structure of the site and he can focus on the visual component.
We can be ready and agreed to the graphic concept of the site. All layouts are not ready yet, but it is already clear what information is needed for the site and how it should look. Since we use the Django framework, the programmer can quickly deploy a simple management system using ready-made models and, in parallel with programming business logic and finalizing layouts, we can already enter information for a future site.
As soon as we get a consistent design, the technologist begins to impose templates for the site and combine with ready-made code from the programmer. While the designer has not gone far and is not distracted by other projects, we can modify the pleasant trifles and, if necessary, correct some decisions.

As a result, we get a working and pleasant site that solves the client’s problems, and the development time with such an approach is significantly less. Of course, we have accumulated quite a lot of our own developments, which also help us in our work. We try to make and develop our development platform in order to optimize all internal processes. Of course, we do not plan and do not want to write our new regular CMS, this is a completely different business, and for this, the processes should be arranged quite differently. In the future, we will tell about our work in more detail if it is interesting. Some sites that we have developed under this scheme can be viewed on the
studio site .
I would also like to note that in a regular sequential approach, it is possible to organize obtaining a high-quality and decent result, but this will not be fast and there will be much more in the working group on the project, not 4-5 people.