In any complex project, there will be unforeseen problems–unknown unknowns, if you will:
[T]here are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we do not know. But there are also unknown unknowns—the ones we don't know we don't know. ... [I]t is the latter category that tends to be the difficult ones.
If you accept this fact–and warn your client of this reality–your projects will go much smoother.
Where you get into trouble is when you start believing that you can predict–from the outset–every conceivable problem that could arise during the project. But, if you accept that such omniscience is impossible, those inevitable setbacks won't cause you as much stress.
So, don't beat yourself up when things go wrong. Instead:
- Expect the unexpected.
- Roll with the punches.
- Learn from your mistakes.
- Maintain a healthy perspective.
The Serenity Prayer
Remember, some things are beyond your control. If you can accept that, you'll have more time to focus on those things that you can control. I can't sum it up any better than the Serenity Prayer, so let's just end with that:
God, grant me the serenity to accept the things I cannot change,
courage to change the things I can,
and wisdom to know the difference.