(NIST) Period of time beginning when a software product is conceived and ending when the product is no longer available for use. The software lifecycle is typically broken into phases denoting activities such as requirements, design, programming, testing, installation, and operation and maintenance.