If you had a chance to read a great "Refactoring" book, there is a notion of "Code Smell" there - the code cries for improvement. I think same applies to design also. These are my favorite signs of "design smell" that signal severe project troubles:
Design smells if the following design approaches are present:
- Design is generic and framework based;
- Processing is asychronous;
- Everything is XML-driven;
- Application is highly configurable;
- Rule-engine under development.
The ulimate "design smell" A.K.A "design stink" reads the following: "An asynchrounous rule engine-based XML-driven configurable framework". If you come across somethig like this - run like hell from it if you can.