Milestones are important, to focus on the progress od the development, so that it
is not getting off course by implementing more and more faetures that dont work properly.
Also managers/producers need it to estimate how the development is progressing
(regarding aquiering new funds, raising budget or also cancelling a bad project
early enough)
Also to keep motivation in the team, by evaluating the progress.
But milestones have a drawback:
the developers could try to make the game/target-status work for the upcoming milestone,
by unproperly hardcoding parts or making superficial work-arounds.
This could in the end extend the complete development, as large parts have to be reworked.
So a producer must! know technical details of the development,
to know how the milestone should be set correctly,
to keep the project in pace, but not requiering a status that could only be reached
with unclean workarounds for the next milestone.
This is very important for the coding, and less important for
sound/grafix (as they are not so affected by workarounds)
Wrong setting of milestones could as easy cancel a project, as the lack of milestones.
(This is all not a specific game-dev topic, but applies to all technical development)
(to high demands / to short frequency in a milestone :
frustrates team. Developers might cancel important gameplayparts
that destroy the unique-selling point of the game, and implement
unclean workarounds
To little milestones:
Developers might tangle up in senseless features,
or rework already working parts for the sake of it,
members might shirk/fraud on others,
members get frustrated, as they dont see the progress/feedback without
the eveluation by the milestone)