So you've been on a project for three weeks, and it becomes apparent that things are not going well. What should you do? As an implementation specialist, developer, or integrator do you have any more responsibility than to "just do your job"? Though some if not most projects are full of political motives and egos. Trying to point out flaws is almost never met with a welcoming attitude.
You have perhaps a very few set of options, but options none the less; so, what are you to do?
Plug along, and let the project manager blame you for being slow or ill prepared. This option does nothing for anyone involved, you look bad, your project manager is stressed, and the client is loosing faith all the way around.
Point a finger, and highlight the flaws in the plan. This option will surely make your project manager defensive at best and down-right hostile at worst. In either case the client might get what they want, but depending on how highlight the flaws you might alienate your PM.
The best option perhaps is to evaluate the entire SOW and Project Plan early in the project, if not before. Using your past experience, make very certain that every single red-flag is noted and discussed to your satisfaction. Identify the concern (number it if you must) and write up a description of the potentially concerning outcome, and identify mitigation.
With good communication on the outset and ongoing and frequent (appropriate) communication will be key to successful project outcome. Have daily status contact with your PM so that there are no surprises and that the numbered concerns are brought to the surface.