📜 ⬆️ ⬇️

Features and risks of a large web project. How to build work between client and developer

This article was written after a series of reports at the seminars of our company , which showed that the topic is extremely interesting to many professionals and customers. We hope you enjoy it. We welcome comments. The co-author of the article is Alexey Shkarupa, project manager of Domino .

How to define a big project?

What is a big project? How is it different? What is dangerous and what is interesting?
The truth is that for each client and developer a large project is a concept with different content.
A large project is a unique order that creates new risks for both parties.
New risks means you have no proven technology to work with such risks. What is a big project?

We have formulated a number of signs: how to define a big project

Features of a large project


Project management is a reduction in the likelihood of risk occurrence. In a big project there are special risks:In the Domino project, the site was of great strategic importance to business, and the level of interest of management was very high. In fact, this is a big plus. Initial TK surveyed 50 teams of web developers estimated from 30 thousand rubles to 2 million. Such a spread predictably did not give a decision with whom to do it. The risk of integration with external systems was fully realized - the import files for the site, directories, ad parser were ready 4 months later, and this postponed the launch and required to change the order of implementation in manual control mode.

Customer issues

Generally speaking, the client and the developer are almost equal sides of the development process, and they have similar risks. What questions does the client pose (or should put) before himself, who has decided to do something unusual and large - a large web project:

Developer Questions

Generally speaking, the relationship between the developer and the client, especially with the first joint work, the tense situation and sins on both sides, and even a slight feeling of mistrust, can easily slip into the plot of "someone else against a predator." It is unpleasant humanly and hurts the project. In addition to thinking about the quality of the project, the developer should take care of the relationship. However, as the client. So, what an experienced developer should do:

Main risks

There are common risks of a large project that are always there. There are also specific to web technologies. Here are the most significant:

Key decision issue

When creating a project, the most important thing is the people who will be responsible for it. No technology can replace brains and the desire to solve project issues. What kind of people should it be? They have to:Perhaps such a developer seems to you a superman, an ideal contractor who is not in nature? Maybe so. But generally speaking, there are many decent web development teams, and there is a choice.
You just need to do it, and done consciously.

Interaction technology: ideal and reality

: In theory, everything is simple.In his logic, that's right. The artist is completely different.In his logic, that's right. There is a contradiction in priorities and prerequisites for conflict. :
In practice, everything is different.Often contradictions lead to conflict.
Almost always in a large project at least part of the risks is realized, and almost always it goes not according to an agreed plan, but in the manual control mode. In our project, Domino realized the full potential of replacing a contactee, integrating with external systems, the risk of long phases and accumulating changes, and partly the risk of a large TK.

Project Evaluation and Planning

I have already mentioned the situation when the same project was completely sane by the developers on the technical task was evaluated at different times and costs, and the spread of estimates was almost 100 times. At first glance, the reason is simple - the developers are greedy idiots not experienced enough and are mistaken. In fact, everything is more complicated. Even with experience and knowledge, the accuracy of the project assessment for TK, especially brief, is extremely low. If there is no paper intelligible document with the described limitations, the cost can be safely taken from the ceiling: you will be mistaken anyway. This is an objective reality that at the beginning of the project no one knows its cost and launch dates. The existing scientifically and statistically based methodologies are extremely weak and in practice are hardly applicable. What can be done so that the project will turn out (customer interest) and bring profit (developer interest), and the deadlines will be within the allotted framework (everyone wants):All technology assessment and planning of a large project has its drawbacks, and your choice should be determined by the essence of the project and the relationship with the customer.

Agreement and rules of the game

The paradox is that most developers apply a standard contract about nothing. Such a contract does not fix deadlines, obligations, the division of responsibility, the form of submission of materials and so on. According to a recent study, 30% of sites are made without a contract at all. If creating business cards is forgivable, but projects for thousands of man-hours cannot be done under a weak contract. So, what should be the contract:

No need to automate the mess

- When designing a site, thinking through the interface, logic and details, a normal analyst, the manager will offer his options. Simplify the logic, change the sequence of steps, revise the rules. These are not only technical or design changes, they will concern the essence of the processes, business logic. "If you automate the mess, you get an automated mess." Not worth it.
Why is this happening? The third-party analyst is a “fresh head”, who sees not entirely logical or not uniform elements of the project and can offer his own. On the one hand, such changes are often extremely useful, as they make the project easier, its launch is faster, and support is cheaper. On the other hand, only a representative of the business, the end customer can accept the change, assessing it from his point of view.
For example, in the Domino group of newspapers, Volgograd and Volga newspapers use significantly different ways of calculating the price of an ad. If they do not lead to uniformity, two different feed interfaces will actually be required, which will confuse people. And if you change the formula, change and financial performance and streamlined scheme of work. A large project is both economics and politics.
The developer should offer, the Customer should not be surprised and consider the proposals seriously, and everyone should think about the quality of the project. It’s a paradox that everybody usually wants success, but they represent him in such a different way and cannot talk to each other so much that the problem of interaction can spoil everything even in the absence of serious factual differences.


Task documentation

Documents are an important part of work organization. I had to deal with projects where the total number of regulations, instructions, specifications reached several dozen. Documents are not a panacea, and there is no universal recipe. What is the specificity of a large project:What scheme we used in the Domino project, and it worked well:Although the TK turned out to be very large, it was vividly and collectively discussed in the process of writing and editing.


Tracking the development process

When the task is signed and production is started, some things are simply necessary:Which would be extremely useful, but unfortunately we have not done so.

Delivery of the project. Stress Testing.

When a project is handed over, user testing is always done, sometimes unit-tests of code. We believe that another type of testing is extremely important: load.
I'll tell you on the example of Domino:

I think that doing a project as a set of stages, each of which is evaluated and launched separately, is the best practice. This is the best option from the point of view of planning, and the quality of the result, and for business. For the client, usually all the arguments are outweighed by the only plus option “one contract, one TK, one stage” - the launch date and budget are immediately fixed. The sadness is that the deadline cannot be sustained for obvious reasons (tightening approvals, realizing risks, processing requests), and the customer suffers. Accordingly, the project due to the stretching of time turns out to be much less profitable than planned, and the developer suffers. The paradox is that the risks in the phased work are less, and the chances of getting a qualitative result are higher, despite the open budget and the project end date. Separately, it is necessary to say about this “end date”.A modern project created for business is constantly changing. And there is simply no final date. There is a current state of continuous change.


findings

A large project is not as scary as it may seem. Everything can be solved if the customer and the developer have common sense, experience and desire to solve problems. We believe that:




And more conclusion


The customer must understand that he has a lot to do in the project. It will be necessary to select an employee who will have the knowledge, competence and the right to make decisions on the project. This employee will have to devote a lot of time to the project, perhaps the whole working day.
And everything will turn out.
The new site Domino (may lie, at Timeweb problems) The
original source of the article, decorated a little neater . Sorry, to fight with the habr parser is hard.

Source: https://habr.com/ru/post/164017/


All Articles