Been coding since the punch card era. Seen all sorts of projects - some ship, some don't. The ones that make it tend to have a couple things in common: realistic deadlines, competent project managers, and team members who give a damn. A little luck doesn't hurt either.