Programmers constantly break deadlines, not because they are slow, but because they initially can’t correctly estimate the deadline. They firmly believe that they will be able at some point to push and do more than usual, and no unforeseen problems will arise.