Software lifecycle refers to the progressive stages that software goes through from its initial creation to its end of use.
- Development - During initial programming the software is generally considered unstable and untested. For larger projects development may be broken into multiple milestones, often based on feature sets.
- Pre-release - Before the official release of a finished product
- Gold, General Availability (GA), or Launch - Finished product officially released to end users
- Maintenance - Most often the longest phase, bugs are fixed and features might be added post-launch
- End-of-life - End of support