Spend at least an hour to understand client needs. In the very first moment, the solution the development team proposes often seems appropriate, but it can ruin the project in the long run. These little ‘fixes’ could create unpleasant consequences. A great example is a road with holes, repaired punctually. Very often sometime after that, you have to develop a new feature, but because of lack of time, you do it at the top of the previous fix.