Our methodology is an iterative Unified Process methodology for software development. You can read about the methodology here: http://en.wikipedia.org/wiki/Unified_Process
During each phase of the project, the following workflows are used that can be performed consecutively or parallel with each other if possible (there is no point in delaying of the development of a requirement that has been completely designed until designing of all requirements is finished, that’s why the workflows will be parallel to a certain extent):
We also use the iterative approach. A large project can be divided into stages (consisting of 4 phases), and the target of each one is development of a part of a large software project. Thus, at the end of each stage you will get a fully functional part of a large project. It minimizes risks because if something has been developed not in the way it is needed for business, it can be corrected with less labor expenditures compared to the situation when it is discovered in the end of the whole project and not after another stage.
The iterative approach is also implemented during phases. The whole workload of a phase is divided into iterations, and in the end of each iteration we get a finished software component.