Having worked on a failed project is one of the few things that most programmers have in common, regardless of language used, industry or experience.
These projects can be great learning experiences, soul-crushing disasters (or both!), and can occur for a multitude of reasons:
- upper management change of heart
- under-skilled / under-resourced team
- emergence of superior competitor during dev cycle
- over/under management
Once you've worked on a couple of such projects, is it possible to recognise at an early stage exactly when a project is doomed to fail?
For me, a big sign is having a hard & fast external deadline combined with feature creep. I've seen projects which were well planned out and proceeding right on schedule go horribly off the rails once the late feature requests started to roll in and get added to the final "deliverable". The proposers of these requests earned the nickname of Columbo, due to rarely leaving the room without asking for "just one more thing".
What are the warning signs you look out for that set off the alarm bells of impending doom in your head?