When you hire different people to do a project for you, make sure they literally work together. Throwing the work over-the-fence always results in a mediocre product. Let me exlain.
You hire the best design team and they indeed do a stellar work. You are happy so you give the designs to some brilliant development team. They start working with the design and realize that you are missing the crucial data to fillout parts of the design, now the product is not as good. To make things worse you start testing the app and learn that the customer interaction flows are slightly different then envisioned which is always the case as customers are not able to tell you what the like and dislike before they see and touch it. Your development team is pressed by the timeline, no desinger around, so they photo-chop the original desing to fit the new needs. The monster is born with the intention of fixing it later. Fixing it later never happens.
Get design and technology people in the same room from beginning to the end of the development, or fail.