# How not to lose your money by NOT relying on inadequate webAgencies

- Img source: https://www.remocontro.it/2015/12/30/gatto-volpe-banche-per-2016-truffe/
- Article date: November 6, 2019
It often happens to come across skilled colleagues who criticize the work of other "ignorant" colleagues who "burn" potential customers: there are those who propose the creation of an order to delimit an elite of professionals, others the exclusive use of computer engineers and so on ...
In reality, to the customer, to skim who will be able to provide him with the best Return Of Investment from seductive (and above all inadequate) webAgencies, we just need superficial knowledge of 2 concepts unknown to all those very unprofessional people (unfortunately the vast majority):
- Test Driven Development (TDD)
- Modularity (packages)
Two concepts that require advanced skills and tools (therefore important investments of time and resources). If probing your interlocutor, you feel hesitation or inability to respond to it, discard it immediately: it will only make you lose your investment in the medium and long term.
A practical example? As fullStackDev (Laravel + RESTful API + Vue.js), I am remaking an important eCommerce (Pollini) for a personal project (not even Pollini knows that I am developing it). January 1, 2020 update: I removed the link to the draft project review, here is the review of the final project: Luca Pezzino E-commerce
Apparently an eCommerce like many others, in reality it was the result of technological (mis)adventures by the team that developed it in its time (the project has now passed to another agency, the "guilty" of that programmatic hell, Still4, failed last October): zero initial project, zero documentation, zero foundation, zero structures. A favela (technically a monolith, very procedural, little OOP) grown a little at a time, without a vision of the direction to follow.
I'm doing it from scratch with the 2 concepts reported (as well as in DomainDrivenDesign mode), here are some advantages that have already occurred even before its publication:
- TDD: while I'm still developing it, Laravel has gone from version 5.8 to 6.4. The upgrade took half a day of adjustments, thanks to the tests that reported the errors to me. The official website was, is and will remain at version 5.1 (with all the problems that derive from it, safety first), since there is no written test and errors would be reported by customers who would not be able to complete their purchases 😉
- Package: all the changes that I occasionally make are immediately definable to the package that contains the subject of the change, automatically imported when necessary via the command line.
As usual, the quality, over time, pays off much more than the quantity in the immediate term: https://martinfowler.com/articles/is-quality-worth-cost.html (for those who don't want to read the article, obviously the answer to the question is "yes").