Delivery what scheduled and delivery in time is not a constant 😦 .
A way to reach this goal, and manage some exceptions, is scheduling minor tasks at the end of your “sprint” (opsss 😉 ).
If something goes wrong, then you can cut those small tasks, because you most valuable features are at the sprint’s beginning, so you can deliver most of the value (aka features) without compromising (a lot!) the entire spring.
source: XP Practice: Slack
thanks to XP IT mailing list. 😉