The software development lifecycle has several different phases. It begins with a statement of requirements and includes design, build, testing, and release. Software development projects can cycle through each of these phases repeatedly before releasing the product into production. The quality assurance process occurs throughout each phase to ensure the product is being developed correctly and identify any problems before they impact the later stages of development. Each product has a number that identifies it. This number changes as the product moves through the development lifecycle.