Software development refers to the design, documentation, programming, testing, and ongoing maintenance of a software deliverable. The combination of these steps are used to create a workflow pipeline, a sequence of steps that when followed produce high-quality software deliverables. This pipeline is known as the software development lifecycle.
While there are many nuances, the software development lifecycle generally includes common elements, as noted below.