We're performing applied mathematics, but we're performing that task as engineers. The key is in 'applied'. Going from theory to practice takes planning and is not as unbounded as performing science in my opinion.
I think it's about balance, and a lot of software engineering projects would do better by steering more toward the academic research group model than the current fad of two week "sprint", plenty of non-technical pseudo-managers and endless micro-estimations.
What ever model works for a group of people producing software I'm fine with.
But as someone else said in this thread: If the question is more about who provides the estimate and less about why is there an estimate (also plenty of opinions about that in this thread) then I would say that time estimation is a integral part of an engineers job.
What makes someone an engineer is being able to provide a weighted solution towards the needs of a client or consumer. Not the best solution in the world, but the best solution for that client. If the requirements are that it should be delivered fast, you understand that the quality goes down. If the client wants high quality, it takes more time.