Member-only story
What can we learn from how birds count and triathlon races to help us improve software product development?
TL;DR: Even if you want to develop a general product that thousands of customers will use, build the first version (fast) for a limited and specific customer/use case. Then, when you want to serve your second customer/use case, don't try to patch the first product and develop a second separate version, and do it again for the third customer/use case. Then, and only then, start to learn from your versions and build your general product. Think 1–2–3-Many!
How do birds count?
When a bird's nest has six eggs, and you remove one of the eggs from the nest, the birds don't notice the difference. When you remove the second egg, they still ignore the change. However, when another egg is removed, the birds notice and start looking around for the missing eggs and the one taking them. The simple explanation is that the birds perceive every number larger than three as "many" (many=4=5=…). Only when the number goes down to three, do they notice that it is lesser (many>3).
This counting method is not limited to birds, and it also appears in human languages, such as in the language of the Pirana tribe in Brazil ("Tribe without names for numbers cannot count"). It is only not limited to primitive tribes. It can explain the weird behavior of counting in English, where the first three numbers (1st, 2nd, and 3rd) have different suffixes than the rest of the numbers (4th, 5th, 6th, and so on). Also languages such…