Probably you are following agile for years, but you still have the impression that something is wrong. You can feel it, the shadow of the waterfall is on you. You do not feel doing agile, you feel doing mini-waterfalls. Maybe you are right.

Photo by Joshua Sortino on Unsplash

When programmers begin coding, there were no rules. There was no Waterfall, there were no instructions, there was nothing but a plain sheet of paper. During the first years of coding, everything got invented. They invented new programming languages, new paradigms, and even testing. If you want to feel how they did feel by then, I invite you to watch the following video of Bret Victor:

Bret Victor: The Future of Programming at 1970

If you think which methodology of work they used by then, it is clear that it could not be waterfall. Everything was new, yet to discover…


Why people confuse BDD with E2E? And what is exactly BDD?

If something is going wrong in many companies is how they apply BDD, they use BDD as it were E2E testing. But BDD is not about E2E testing; choosing E2E testing is an implementation detail.

Photo by Mohit Tomar on Unsplash

One big problem that we confront each time that we search the Internet for resources is the accuracy of the contents. The same word has different meanings in different contexts, and because articles imply the context, readers are not aware of it. …


Learn the enemies and the keys to implement TDD in your team.

Test-Driven Development is a game-changing methodology for any software project with a life span more extensive than one year; unfortunately, many developers and companies fail to embrace it. In the first instance, it might seem a problem of developer skills and lack of self-discipline, but it is not. You cannot enforce TDD on your team, it does not work this way, but if you overcome the key challenges, you will successfully adopt it.

Photo by You X Ventures on Unsplash

The story of two teams

Once upon a time ago, two teams worked in the same project but different repositories: the Antelope team and the Beaver team. The Antelope team decided to…


What Clean Code and fighting Global Warming have in common?

It is not that Dirty Code produces Global Warming, but the same behavior that drives towards Global Warming also drives towards Dirty Code.

Photo by NASA on Unsplash

Some days ago, I saw this video:

Minute 25:58: Robert C. Martin explains the effects of Dirty Code.

Robert C. Martin warns that any code gets messier with time unless we make an effort to keep the code clean. If we do not keep the code clean, we are faster in the firsts iterations. Still, the following iterations, we are delivering less and less value, and eventually, costs rise, and the project almost freezes. …


There are two disks: one contains the production source code, the other includes the unit developer and acceptance tests. We have used the most exquisite test-driven development to create tests and source code.

One of the two disks has crashed without a backup. Which do you hope it is?

CODE:
Tests are important, but without the production source code, we lose the product. We can always rewrite the tests.

TESTS:
You cannot rewrite tests. Tests are the specification. If you lose them, you lose the specification. …


In the past, I thought that testing was hard, that you need considerable practice to learn to do proper testing. A few days ago, I realized that it is not correct; every programmer already knows how to test. In this article, I present a small recipe that allows anyone to write excellent tests starting today.

First Hint

I learned the first hint from Uncle Bob just a few weeks ago. I was learning from one of their videos, and I heard the following question:

» Which test you write first?

The question surprised me, because I have years of experience writing tests…


A short practical comparison

Dan Abramov, the creator of Redux, says that he does not know what Domain-Driven Design is. Still, it is impressive how Redux resembles DDD. In this article, I explain what DDD, some key concepts, and how Redux implements its ideas. And understanding both, we can deliver even better implementations; two approaches from different worlds that collide and take advantage of the same design principles.

Domain-Driven Design

Domain-Driven Design is a software modeling technique designed to create robust microservices architectures as well as integrate multiple existing solutions.

Eric Evans initially presented it in 2003 in the book «Domain-Driven Design: Tackling Complexity in…


What are Developer tests? See a clear example of each kind.

Almost anyone agrees about what is a Unit Test. QA engineers and developers usually give Integration Test different meanings. Extreme Programming defines the Programmer Test concept, whose objective is to create more useful tests. This article outlines the properties of each type of test and creates a common ground to speak about them.

Photo by Mike from Pexels

Unit test

You get the headlamp, place a sensor as a lightbulb, and connect the headlamp to a power source. The test passes if the sensor receives power.


You may have listened a lot about Unit Tests. You even may have created many of them. It is also possible that you are using TDD. Nevertheless, it is highly probable that you have fallen into the Unit Test trap.

Photo by Suzy Hazelwood from Pexels

Testing is amazing. I love it, and I cannot figure out how I was able to sleep comfortably before Testing. But this has not always been the case; there was a time when I thought that tests were a waste of time. I had read a lot about Testing, seen a lot of examples, went to lots of events explaining…


In July of 2015, The New York Times presented a quiz to test the ability for problem-solving of their readers. The idea is straightforward; there is a secret rule that readers have to guess. They present the sequence 2, 4, 8 that obeys one rule and they let them propose new sequences to guess the rule. It turns out that this simple game is amazingly useful to teach testing. Here I explain my last experience teaching introduction to test.

Fist is first

I always start the introduction to testing with one sentence about testing. This sentence is 50 years old; still, it is…

David Rodenas, PhD

Computer enthusiastic (also doctor and engineer) who loves to innovate and extract all potential to this young technology.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store