Each product
can pass through different states, depending on the specific
circumstances of each project and hence, there are
different development models. For example, if the problem
is well defined and well understood and user need is
practically invariable, a short waterfall-like life cycle is
likely to be sufficient.