|(programming)||software life-cycle - The phases a software product goes through
between when it is conceived and when it is no longer
available for use. The software life-cycle typically includes
the following: requirements analysis, design,
construction, testing (validation), installation, operation,
maintenance, and retirement.|
The development process tends to run iteratively through these phases rather than linearly; several models (spiral, waterfall etc.) have been proposed to describe this process.
Other processes associated with a software product are: quality assurance, marketing, sales and support.