Having spent 40 years designing and developing computer systems, I have found that there are certain fundamental truths.
1. There are no complex problems -- only complex solutions.
2. There are two types of projects: those which take less than six months and those which never get done.
3. When things go wrong, your customers are the first to know, but the last to tell you.
4. If you can't think like a customer, you shouldn't be designing systems for them