Conception, that is, the early engineering work is your most most important and should be longest and most intense period.
Any fool can sit down and start writing code and what comes out is usually called spaghetti code, meaning a tangled mess.
You need to sit down, work out specifically what the customer wants. LISTEN to the customer, write it down. Work it through on paper. Present a realist cost analysis of what the customer is asking for.
Once the customer sees a realist cost analysis (don't tamper it down because you will almost always go over anyways) he may change his mind and cut back. Non-technical customers rarely realize the actual cost of development.
Make mock ups of the screens and a diagram board of how the program works...scenario out each step and option to see how the logic will need to be formed.
Work and rework and rework you database tables, on paper.
You need to think through a 90% solution on paper before you lay down even 1 line of code.