A structured process for planning, creating, testing, and deploying software systems through distinct phases including requirements gathering, design, implementation, testing, deployment, and maintenance. It helps development teams catch defects early and maintain confidence in software releases.