The strategy and process for creating or updating computer programs, taking into account every aspect of the software's use, including planning, deployment, and eventual retirement.
"Originally, our developers' software development life cycle was focused on long-term, well-defined functions; since it didn't always account for how quickly we have to change things in today's market, we've also added in lean development and other approaches."