Why do professionals sometimes create bad applications?

Hello friends. Today I want to talk on a very interesting topic, and ask myself rhetorical questions. Namely, sometimes it happens that really talented and professional specialists work on a project. Spend a lot of time and effort on creating a software application. And the result is do not understand what.



Suppose there is a customer, an excellent specialist in his business. And so he decided to create some WEB application, which should help him get more customers and, naturally, keep them. And there is a certain IT company that has been on the market for many years, which has a decent staff of diverse specialists, and which offers excellent conditions in terms of price and quality. I want to say right away that the similar stories that I now describe happen all the time, and I don’t point to anyone specifically. Just take the spherical horse in a vacuum.



So, the customer and the company entered into an agreement to create a WEB application. When a business analyst communicated with a customer, a rather large documentation package was formed, which was subsequently processed into a detailed technical task (hereinafter TK). For this TK, estimates and deadlines were calculated for each stage of work.



According to the agreements, the company takes on the entire process of creating the application, from design to support for production servers. And so the work began to boil. Designers, according to the proposed TK, created an excellent layout that really impressed the customer. The design is really very nice and interesting. The customer is just happy. Designers are sure that this is their best work in the portfolio. Design layouts are approved and they fly away to developers for familiarization and development.



A team of professional specialists gathers for the project and they begin to discuss architecture. Brainstorming is not in vain and the architect creates a very flexible and scalable architecture. The data storage system was ingeniously designed, very simple, but at the same time very flexible. All congratulate each other and are proud of the work done.



Developers begin to write code according to the business model and developed architecture. Very clean and beautiful code is created. Subsequently, anyone can support him. Everything is covered in tests, everything works as expected. The developers are really great, and put all their soul and skill into the project.



All estimates and deadlines are observed. The project is running smoothly. And so the testers begin their work. Excellent QA specialists go through the project far and wide, finding all the jambs and bottlenecks. And the project is eventually brought to the ideal. All flow is fully working, all forms are validated, each error has its own exception. The project looks one to one, as in design.



The customer is very satisfied, they did everything exactly as he wanted. Designers are very proud of their design project. The developers are proud that the code is just perfect. Testers are happy that everything is tested and works without comment.



And now comes the moment for the final chord. Launch the first release on production, an advertising campaign is launched. And the first users appear on the site. The customer, in anticipation of the first customers, is already rubbing his hands. And then something happens that no one expected at all.



Some users begin to "dull" and do everything not as intended in the flow. Some leave the project after a minute. And someone begins to write intensely in support, so that they help to understand the project, what's what. It happens that they send negative comments about the project itself and those who developed it.



And after such a launch, the customer falls into a stupor, the developers are at a loss. How is this even possible? After all, the project itself was conceived by a professional in his type of business. The design was drawn by professionals and was liked by both the customer and the team. The code was written by excellent specialists with great experience. Everything went just fine. So why did the project fail miserably in the final? What to do now with this? And what conclusions can be drawn from all this?



Personally, my opinion is that at some stage of the project development, the moment was lost from the fact that the project is still being done for the end user, whom no one asked how he would be comfortable, which design is more pleasant for him and which of the functional he needs. That at some stage of the project he became familiar, and there was no fresh critical look from the side. And what the customer and the team subjectively liked did not enter the end user at all.



And the result is a very amazing situation that a team of highly qualified professionals has created a non-viable application.



And what do you think, how was it necessary to build everything correctly so as not to end up with something that nobody needed? Write your suggestions in the comments.



All Articles