In technical projects often people think that you can sacrifice Code Quality (hacky solution) in order to get speed. Or you can build a well designed, methodical system slowly. Mario Caropreso points out that this is a false tradeoff1. Adding features to a system involve modifying existing code for any sufficiently established or even moderate sized code base. Therefore, feature cost is code change cost. Hacky code is harder to change, therefore each hacky addition increases the cost of change and slows down delivery. A kicker that bugs from hacky code slow down both the end user and the development team that is fixing the bug. Mario points out that you must not think of velocity as point in time, but rather how velocity will be now and in the future (sustained velocity).