Our development process includes two major phases:
The effort required for each of these phases obviously depends on the nature of the project. The design phase might, for example, be very brief if the project duplicates existing functionality and uses a pre-built theme. On the other hand the same phase might require significant time if it requires the involvement of communities, meetings and presentations and working with external graphic artists.
An essential first step for all projects is to explicitly define the project's objectives. It's important during this step to not confuse objectives with features. If, for example, you're building a website "including a discussion forum" is not an objective but rather a feature. A forum is only one way of communicating with visitors or building a community. It may - or may not be - the best way for you to achieve that objective.