I wanted to know how well people generally define a software product before actually beginning to code and how well it has worked for them? I am referring to defining use cases, analyzing risk, drawing class diagrams, etc.I know that it is a good idea to have a good enough idea of what the final product will be to be able to avoid risks in the future, but it is also important to not define a product so well that it is hard to adapt to change.Other more specific questions would probably be:What percentage of a project's time is normally spent in the planning stages before development?Do you have certain measurable criteria you try to meet before starting to code or is more of a gut thing?Do you diagram all classes before beginning to code, or is it mostly trying to create a dynamic design from the beginning expecting that things will change?Any experience you are willing to share would be awesome!
How well defined should a software product be before starting to code?
project management;development process;product design;product development