4 ms·
1. I have deep long discussions with the customer to understand the business problem they want solved. Usually over a nice coffee in a relaxed environment. 2.
by mbrodersen 4y ago
1. I have deep long discussions with the customer to understand the business problem they want solved. Usually over a nice coffee in a relaxed environment.
2. I document it in a Spec and make sure the customer reviews and understands exactly what they will get. Again, while enjoying good coffee!
3. The customer pays up front for this initial Spec work. If they don’t want to pay up front I walk away. I don’t work with customers who doesn’t understand that work costs money.
4. If they are happy with the spec I then negotiate a contract and payment terms. This always includes an upfront payment. Usually 10%. If they don’t want to pay a percentage upfront I walk away. Cheap customers are not worth the pain. The rest is paid based on milestone deliverables. I always make sure that milestones are backend heavy so that I have a time buffer if needed.
5. I quickly implement what I call the “skeleton” of the application. All use cases are implemented with a minimum ugly/super simple UI and an in-memory hash map “database” for storage. Test cases cover all use cases end-to-end. I use an in-house code generator to make this step fast (80% of the code is usually generated).
6. I then iterate, refine, and improve the whole application step by step until it is done. With regular demos to the customer getting feedback on progress.
It works well. It isn’t perfect (what is?) but it has been successful for me.
- jmconfuzeus 4y agoHow detailed are you in the spec?
- mbrodersen 4y agoAs detailed as needed for the client to understand exactly what they will get delivered. However 100% focused on solving the biz problem not UI details or whatever.