My personal definition of software development process. (There aren’t any grounds for this except for my experience.)
1. Rough analysis
– Analyzing requirements.
– Analyzing features and functionality that are required.
– Analyzing required schedule.
2. Detail analysis
– Defining the way to measure project’s completeness.(When can we say “We complete this project!”)
– Defining risks.
– Estimating costs and time.
– Deciding whether to go or not.
– Making reasonable schedule.
– Confirming resource plan.
– Confirming the way to measure project’s progress – including Milestone. (ex. if XXX is YYY, then project is oo% completed.)
– Planning schedule, solution and alternatives etc about risk management.
– Determining development environment. (ex. language, CM tool, etc.)
– Designing SW.
– Making test plan and cases.
– Implementation & debugging.