The software development life cycle, or SDLC, is the sequence of stages a software project passes through during its existence. A common description of those stages is requirements, design, implementation, testing, deployment, and maintenance. The life cycle gives teams a shared map of the work and a way to plan and track progress.
The idea that software production has identifiable phases goes back to early efforts to bring discipline to the field. The 1968 NATO Software Engineering Conference report discussed the design, production, and service stages of software systems and treated software as something with a full life that had to be managed, not just written once and forgotten.
Different methods organize the same stages in different ways. The waterfall model runs the phases in a strict, mostly one-directional sequence. Iterative and spiral approaches repeat the phases in cycles, refining the system over several passes. Agile methods break work into short increments, moving through the phases many times in rapid succession.
Whatever the arrangement, the underlying point of the SDLC is the same: software does not appear fully formed, and treating its creation and upkeep as a structured process, rather than a one-time act of coding, is central to software engineering.