Про это написаны книжки и статьи. Например,
вот.
Оценка это не обязательство, а предположение. Она имеет вероятностный характер ("скорее всего это займет неделю, не меньше 3 дней но не больше года").
Оценка выражает ваши знания о проблеме, на саму оценку можно потратить какое-то время чтобы улучшить эти знания ("я могу сказать точнее если вы мне дадите час на изучение модуля x и обсуждения с Пашей").
Я бы советовал написать план выполнения задачи и тестирования, подумать о том что ещё может сломаться и тестирования этого (регрессионное тестирование) и узнать мнение коллег (они могут подсказать что упущено). В SCRUM, например в планировании участвует вся команда.
Ещё я бы советовал гуглить на английском перед заданием таких общих вопросов - скорее всего вы найдете более качественный контент чем сам ответят тут. Например поищите approaches for software estimation.