📜 ⬆️ ⬇️

Be wary of generalizations

There are many fashionable modern concepts: Agile, Lean Startup, Customer Development, Worse is Better, TDD, SaaS. They are all good. Understanding, and even more use, greatly expands the horizons. But we must understand that these are all pretty common things. We must not forget to use the head and clearly realize the applicability in your own project.

Fanatical following of methodology reminds delight from understanding of some possibility in a programming language. I myself succumbed to this more than once: “Cool, there are metaclasses in Python — we use it urgently in the project” —even the same could be achieved with the usual class attributes. “Wow, Lisp macros are super, we will need more of them” - although it was possible to do with higher-order functions. First, you do this, and eventually you get used to it and you don’t get into this powerful opportunity anywhere, and only use it if you really need it.

All theories were once young. Even those that are now considered unfashionable and outdated were once a breakthrough. Just now they have lost their former brilliance, just as powerful features in a programming language are losing their brilliance.
')
Where is the moment when they become obsolete? Where are the conditions in which they work, and in which they no longer exist? Maybe the new trend has already become a stable stereotype and further movement is necessary? These questions should always be asked to yourself and use / not use the concept, not because it is progressive / outdated, but because it is suitable / not suitable for you personally in a particular case.

I will give a few examples.

In the examples, there is specifically so much negativity, not because I want to provoke a discussion, but because you will not find it in the corresponding books / blogs / lectures. It is clear what sense to agitate for their theory, showing its shortcomings. Because of this, it turns out that new concepts that no one has yet denied look better than they really are (what they will look like in 10 years).

On the other hand, if you fall into criticism, there is a danger of making a mistake by simply saying “Methodology X is not for me.” The problem may be a lack of understanding, or inability to apply. It is necessary in such cases to try, try on a new idea for yourself, try to really use it, and not to fence off. Maybe use some part, not immediately. In general, to link with reality and then draw conclusions. But not the general conclusions "method X - shit, method Y taxis", but specific: "method X did not work, because there were such and such circumstances, but method Y rescued because it fit the situation."

Once again: I do not criticize new trends. I just want to call for common sense those who say "we use Y and therefore we will win." Techniques are not invented by the gods, pulling them out of the universe continuum, but by people from experience, analysis and the use of different approaches. No need to consider yourself obviously below the authors and blindly repeat them. You need to expand your vision with the help of their ideas and follow your own path.

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


All Articles