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!