In my experience, projects that don't follow the normal procedures and rules of software development are prone to excessive delays in completion. By normal procedures I mean software projects that don't follow a Software Development Lifecycle; projects that are "rushed" by management because they just need it now; projects that don't ever have requirement documents or specifications attached to them; projects that don't go through iterative phases of testing, and the list goes on and on. Basically, any project that is half-(insert your favorite anatomical description here) is doomed to hang-ups and possible failure. There's a reason that procedures such as SDLC have been found to actually work, yet years later we still haven't effectively managed to convince many would-be managers, project leads, project managers, what have you, that they work when done right.