Software has a lifecycle. From the spark of an idea through coding, testing, deployment, customer use, and eventual revision ...