TDD, mokisty and real boys

Working discussions of TDD and testing strategies often come to a standstill.



Fowler said streamlinedly that these were two cultures, Mokist versus the classics.



Mokist: Let's design on the mokas.

- It's a waste of time! They will have no one to support and synchronize.

Mokist: Let's write unit tests.

- Relying on unit tests is dangerous!

Mokist: But if we properly disassemble the components ...

- Yes, how are you sure that you will break it right?

Mokist: Let's break up the story by user value.

- Let's! But first, we need to fix the fallen QA environment.

Moquist: Mock testing faster.

- Only integration tests on real dependencies will give us valuable information! And who will support your unit tests.

Mokist: But integration tests take a long time and cover fewer scenarios.

- Everything was perfect on my huge project in the past!



- Our integration tests have been broken for two weeks. - Put skipTests and cram into QA, our deployment is on.

- You promised that after the release we will be able to refund unnecessary addictions. - We have a production incident, get involved in real work.



The peculiarity of these discussions is not in the arguments of the parties, but rather in the manner of its conduct. At stake is more than development.



You can offer another option: nerds against real boys.



Nerds are discussing. Real boys teach.

Nerds advise and formulate rules. Real boys dictate.

Botanists give reproducible examples. Real boys put pressure on experience and anecdotal evidence.

Nerds assess risks. Real boys scare.

Nerds evaluate the consequences. Real boys offer a new agency.

Nerds live on schedule. Real boys are always either too early or too late.

Nerds criticize the code. Real boys criticize nerds.

Botanists love funny names, mocha, fakes, stubs. Real boys love pathos.

Nerds praise each other's decisions. Real boys depreciate.

Nerds love books. Real boys love "reality" and "life."

Nerds do not like and do not know how to lie. Real boys are lying all the time.

Nerds love code and frameworks. Real boys are afraid and demonized.

Nerds are united in a community, real boys are in a hierarchy.

Nerds read the documentation. Real boys insist that there are undocumented things.

Nerds have plans for the evening. Real boys love rumors.

Nerds are waiting for the result. Real boys get high in the process.

Nerds love order. Real boys love order only in words.

Nerds do the same thing all the time. For real boys, each project is unique, with its own special requirements.



Nerds love unit tests, mokas, refactoring, and reliable frequent builds. Real boys love complex systems in which terrible unpredictable demons roam.



What do nerds do with this? The same thing that botanists did with gopniks throughout human history.



Recognize markers. Avoid congestion. Make friends with your own kind.



Be persistent. Patience is not a strong point of real boys.



Publicly fix bugs. Boys love dislike shame.



Do not succumb to pressure. Real boys love deadlines and cutting corners.



Learn materiel. Real boys like to crush materiel.



Observe, discuss and record. Look for arguments. Do not lose heart and do not despair.



Real boys always dominate. Nerds win.



All Articles