This diagram shows the process I use as a Solutions Architect to create designs. The most important factor is COMMUNICATION!

If I misunderstand the Customer, I will create a faulty Design, but as long as I communicate the error back to the Customer we can fix it by having a better understanding, which in turn will drive a better Design.