This article argues quite convincingly against overfitting by too-early abstractions.
Nevertheless, it seems makes the same mistake on a higher level:
> The first attempt failed because we built it in a poor way [...]. The second one had a solid microservice design but failed for usability reasons [...]. We’re halfway through the third attempt and I’m having a good feeling about it.
On other words: They don't yet know if the third system is the expected success or not. Yet this is provided as an example for the "rule of 3" without waiting for the actual result.
Nevertheless, it seems makes the same mistake on a higher level:
> The first attempt failed because we built it in a poor way [...]. The second one had a solid microservice design but failed for usability reasons [...]. We’re halfway through the third attempt and I’m having a good feeling about it.
On other words: They don't yet know if the third system is the expected success or not. Yet this is provided as an example for the "rule of 3" without waiting for the actual result.