Оценка времени на задачу - вполне распространенная процедура, и не только в IT. Так что лучше научиться это делать, так как чаще всего оценка требуется.
Если у вас есть несколько лет программирования, то вы способны спланировать работу над задачей от и до, разбив на более мелкие. Оцените каждую мелкую задачу и сложите. Опять же, чаще всего бывает, что задача в том или ином виде вам встречалась, может какие-то ее части встречались, основывайтесь на них. И всегда берите запас +-10-20%. Если технология не знакома, то оцените эту же задачу в рамках знакомой технологии и умножьте на 2 - чтобы учесть время на изучение технологии. Если какие-то этапы непонятны, неизвестны, то их оговорите отдельно.