소프트웨어 개발 수명주기는 하드웨어와 소프트웨어 전반에 걸쳐 정보 시스템을
계획,생성,테스트 및 배포하는 프로세스 입니다.
소프트웨어 개발은 소프트웨어 애플리케이션을 구축하고 실행하기 위해 여러 단계로 구성된 소프트웨어 프로젝트에서 따라야하는 반복적인 프로세스 입니다. SDLC는 각 단계에서 소프트웨어 개발을 분석할 수 있는 프로세스를 측정하고
개선할 때에 도움이 됩니다.
SDLC는 소프트웨어 애플리케이션을 제작하고 배포하는데 필요한 각 작업을 간략하게 설명합니다. 이에 따라 시간 낭비를 줄이고 효율성을 높일 수 있습니다. SDLC에 포함된 모니터링으로 기업은 모든 작업이 시기적절하고 예산을 준수하며,
소프트웨어가 계속해서 실현 가능한 투자인지 확인할 수 있습니다. SDLC는 Agile 또는 Waterfall 접근 방식을 활용하는 것으로 나타날 수 있으며 많은 기업에서 이 두 방식을 혼합하여 사용합니다.
SDLC 방법론
Waterfall
Waterfall 모델이 선형 방식으로 이동하는 것처럼 Waterfall SDLC는 소프트웨어 개발 초기부터 시작하여 각 프로세스 단계를 진행하는 선형 모델이지만, 이전 단계가 완전히 끝날 때까지는 다음 단계를 시작할 수 없습니다. Waterfall SDLC는 기업이 프로세스 각 단계에 대한 연속성과 실행 가능성을 분석하는데 도움이 되어 병목 현상이나 사일로를 제거하는 데 유용합니다.
Agile
Agile 방법론은 사용자 입력과 경험을 핵심적으로 강조하므로 이전에 사용하기 더 번거로웟던 애플리케이션에서 발생하는 많은 문제를 해결할 수 있습니다. 소프트웨어는 Agile 프로세스를 거치면서 피드백에 매우 민감하게 반응하며 급변하는 시장에 적응하기 위해 더 빠른 주기로 소프트웨어가 출시되도록 운용합니다.
반복
소프트웨어 개발자는 소프트웨어의 초기 버전을 신속하게 구축한 후 간단한 반복 과정을 거쳐 개선합니다. 애플리케이션을 시작하고 실행할 수 있는 대규모 애플리케이션에서 일반적으로 사용되는 접근 방식으로,비즈니스 요구를 보다 빠르게 충족합니다.
DevOps
Agile과 매우 유사한 DevOps는 설계 및 구현 단계에서 소프트웨어 사용자로부터 피드백을 수집하여 개발된 애플리케이션의 사용성과 관련성을 개선하면서, 구성된 팀원 간의 적극적인 공동 작업 및 커뮤니케이션을 활용하여 제품에 관한 모든 측면을 다룬다. 이러한 팀에 개발,테스트 및 보안은 물론 정보 기술 운영 역할을 맡는 담당자가 참여합니다.
Spiral
Spiral 모델은 Waterfall에서와 같이 순차 프로세스와 함께 다른 모델의 반복 접근 방식을 사용합니다. 따라서 개발 과정에서 프로세스의 각 단계를 반복적으로 거치면서 Spiral단계마다 점진적으로 출시하고 개선할 수 있습니다.
SDLC의 장점
SDLC는 모든 사람이 동의하고 이해할 수 있는 중앙 집중식 사전 목표를 제공합니다. 리소스 및 관련 비용을 비롯하여 명확한 개발 계획이 있으며, 계획을 올바르게 실행하도록 역할을 할당할 수 있습니다.