The Day of the Programmer - a battle of IT cakes
The development process has never been that tasty...
It was a competition to create a cake in the IT style. The lead (aka customer) set the task, and as usual, was not heard. We had to take into account the needs of the audience and to complete the product inside of 3 minutes ... As a result - no deadline, no needs.
Two experienced developers took a part in the competition: Vanya was in the blue corner (blue team), Max was in a white corner (white team). The spirit of competition has not been canceled. Naturally, they had some helpers, so in general, it was not clear who is behind whom.
As usual, teams started with the design, although it was needlessly - nevertheless, the final product had nothing in common with the project. The customer has approved both products, having almost nothing to understand, cause she was too hungry.
The blue team has gone through all the classic start-ups - they quickly prepared a small, but still quite suitable for the operation product ( you may consider as MVP), thus confused the customer and won a bit of time. The product turned out to be quite usable, though falling apart during operation (a kernel dropped out all the time).
Meanwhile, the white team decided not to flog a fever and make complex multi-layer architecture ... database, business logic, and some other required either for Safety or just in case, layer.
"This time we will do everything right" - said Max, and carefully put the first layer of the “ugly code” on the top of the already fragile architecture. The idea of layers has become quite popular among the other members of the team, and “ugly code” penetrated all layers of the architecture. Layer by layer - the system became harder in front of our eyes.
It's time to start creating the real features and stop cutting the core! Someone from the audience suggested not to write anything new and to use ready-made open source components. He was certainly beaten and kicked as incompetent. But then, a sober assessment of their capabilities made them do so.
And then the project has gained an unexpected twist - one member of the blue team, knowing that such an approach never brings any luck to the development, decided to put the crutches and quickly covered it with autotests. 100% test coverage, well supported on a crutch, became the foundation for the new system.
Unfortunately, just before the release of the product, the styles "floated", but there was no time to fix it, so they decided to convince the customer of the beauty of the product ... especially if to look from above.
Since the deadlines were still failed, it was quickly decided to replace the platform with a new one, more suitable for modular architecture. From a large number of modules, it welled even faster than from the previous one, leaving behind a mountain of good memories. When they realized that scalability is bad, they decided to rewrite the clumsy multi-layer system based on microservices - horizontal scaling was changed to vertical.
In spite of the above difficulties, here are the products that appeared on the market (our kitchen took a market role):
Interested in this expertise?
Get in touch with us and let's discuss your case. We will gladly share our knowledge and experience with you and find the most suitable option for you.