Software Development Lifecycle
The software development lifecycle (SDLC) is probably the most least discussed topic in any IT organization. And, while it gets little attention, there is always an opportunity for improvement. For many organizations, the SDLC is not well-defined. Outside consultants, in an effort to improve the SDLC, will discuss this circular process with the IT leadership and get responses like, “We are agile-like, but still follow some waterfall practices …”. If the organization does not fully understand their own SDLC, they have no firm basis for accurate estimates for product releases. And, these releases are commonly not automated, meaning they are manual and rely on critical personnel to achieve a successful release. Also, the stakeholders tend to discuss each critical release in expensive agenda meetings and they will repeat the same SDLC analysis each time a new release is coming due.
Enter CI/CD or Continuous Integration/Continuous Delivery. This process was first written down for public consumption by Grady Booch, IBM’s Chief Scientist, in the 1980’s. As the SDLC is well-known and has been for years, it lends itself well to be automated and set forth in operation for every distributed or team software project.
Many companies continue to release software manually but we strictly recommend that each organization employ CI/CD for quality, scalability, reliability, and performance. Release early and release often!