I often cannot say know how long it’ll take me to code some feature, or whether I’ll succeed at all, given the requirements. This might be because I’ve never attempted anything like that before, or because the technical constraints around it make the solution hardly plausible. In times like these, I set myself a box of time.