Agile(애자일) 소프트웨어 개발은 반복적이고 점진적인 접근 방식을 기반으로 합니다. 신속한 변화를 위한 옵션은 필요할 때 언제든지 변경 및 반복을 수행할 수 있는 자유롭고 유연한 접근 방식입니다.
사용자 요구사항은 프로젝트의 거의 모든 단계에서 변경될 수 있으므로 프로젝트를 시작하기 전에 계획 수립이 덜 필요합니다. Agile은 변화하는 요구사항에 적응하기 위해 사용자의 지속적인 피드백을 장려합니다.
개발 팀은 시간 경과에 따른 반복 작업을 수행하는 교차 기능 단위로 구성되며, 각 반복 작업은 작동 중인 제품을 생산합니다. 신속한 변화를 위한 리더십은 개발 팀과 이해관계자 간의 팀워크와 대면적 상호작용을 촉진하여 최종 사용자의 요구를 충족시킵니다.
애자일 방법론에 대한 자세한 설명들은 "애자일 매니페스토" (Agile Manifesto)에 나와있습니다. 여기에는 애자일 방법론을 따르는 프로젝트가 수행해야 하는 12가지 원칙이 나열되어 있습니다.
참고 : https://agilemanifesto.org/iso/ko/manifesto.html
변화하는 요구사항을 수용하기 쉬움
최종목표가 확실하지 않은 프로젝트에 용이함
보다 빠르고 고품질을 제공할 수 있음
강력한 팀 상호 작용
사용자 의견을 수용하기 쉬움
계획의 불확실성
팀을 구성하기가 어려움
비포괄적인 설명서
최종 제품이 요구사항과 다를 수 있음
Development + Operations
DevOps는 애플리케이션과 서비스를 빠른 속도로 제공할 수 있도록 조직의 역량을 향상시키는 문화 철학, 방식 및 도구의 조합
기존의 소프트웨어 개발 및 인프라 관리 프로세스를 사용하는 조직보다 제품을 더 빠르게 혁신하고 개선할 수 있다.
이러한 빠른 속도를 통해 조직은 고객을 더 잘 지원하고 시장에서 좀 더 효과적으로 경쟁할 수 있다.
속도
작업속도가 빨라지므로 고객을 위해 더 빠르게 혁신하고, 시장 변화에 더 잘 적응하고, 좀 더 효율적으로 비즈니스 성과를 창출할 수 있습니다. DevOps 모델을 사용하면 개발자와 운영팀이 이러한 성과를 실현할 수 있습니다.
확장
규모에 따라 인프라와 개발 프로세스를 운영 및 관리합니다. 자동화와 일관성이 지원되므로 위험을 줄이면서 복잡한 시스템 또는 변화하는 시스템을 효율적으로 관리할 수 있습니다. 예를 들어 코드형 인프라를 사용하면 개발, 테스트 및 프로덕션 환경을 반복 가능하고 좀 더 효율적인 방식으로 관리할 수 있습니다.
협업 강화
주인의식 및 책임과 같은 가치를 강조하는 DevOps 문화 모델에서 좀 더 효과적인 팀을 구축합니다. 개발자와 운영팀은 긴밀하게 협력하고, 많은 책임을 공유하며, 워크플로를 결합합니다. 이를 통해 비효율성을 줄이고 시간을 절약합니다. (예: 개발자와 운영팀 간의 인도 기간 단축, 실행되는 환경을 고려한 코드 작성 등)
보안
제어를 유지하고 규정을 준수하면서 신속하게 진행할 수 있습니다. 자동화된 규정 준수 정책, 세분화된 제어 및 구성 관리 기술을 사용함으로써 보안을 그대로 유지하면서 DevOps 모델을 도입할 수 있습니다. 예를 들어 코드형 인프라와 코드형 정책을 사용하면 규모에 따라 규정 준수를 정의하고 추적할 수 있습니다.