What is it?
In Software Engineering, the spiral model is an incremental-based process model, which provides shorter lead times for each functionality while being flexible to changes in the requirements.
How does it work?
The idea is to start the system with smaller projects, analyzing its risks and prototype and test these smaller sub-projects. This way, the developer can identify any potential risk that was unknown until writing the code itself.
Then, after a complete validation of potential risks to the system and benchmarking the operational prototype, the final steps to be made are similar to a Waterfall Model.
bad at quantifying the amount of work needed to develop each cycle
Still, the spiral model is bad at quantifying the amount of work needed to develop each cycle, which can halt development in the first phases.