Iterative and incremental
Today's most advanced and efficient software development processes are iterative and incremental. These processes attempt to solve the software development issues by providing beta users versions of the software incrementally (with more and more functionalities) on a regular basis. The users in return provide regular and frequent feedback in order to readjust the development as required.
The two main different approaches to iterative and incremental development are presented in additional KCards. These two approaches seem quite different but they become very similar in most cases (99%) and when applied in the most optimal fashion.
Talking about processes, we use the term static to refer to whatever constitutes the process independently from its application and dynamic for the actual application of the process on a project. This should not be confused with the Unified Process's tailoring which is a customisation of the static framework to a given situation, which yields a customised static framework which will then be applied on the project, this later being the dynamic aspect.