안녕하세요! Administrator 팀입니다 🦔
지난 포스팅인 DevOps란 무엇일까?를 이어서 DevOps와 관계가 깊은 애자일 방법론에 대해서 알아보려고 합니다 ~~
애자일 소프트웨어 개발 방법론이란?
애자일 방법론은 데브옵스 개발 방법의 기반이 되는 개발 방식입니다. Agile의 사전적 의미는 '날렵한, 민첩한' 입니다. 신속한 반복 작업을 통해 작동 가능한 소프트웨어를 개발하여 지속적으로 제공하는 것이 바로 애자일 방법론의 핵심입니다. 하나의 완벽한 소프트웨어를 개발하고 배포하는 것이 아니라, 소프트웨어의 작은 구성 요소를 신속하게 제공하는 것이죠.
규모가 큰 프로젝트일수록 개발기간이 길어질 수밖에 없는데, 그렇게 되면 개발 도중 시장상황이 바뀔 수도 있고 고객의 요구도 바뀔 수 있습니다. 그래서 소프트웨어의 기능 단위로 빠르게 개발을 해서 점차 업그레이드 시켜나가는 방법인 애자일 방법론을 많은 기업에서 사용하고 있습니다.
애자일의 가치
오늘날 우리가 알고 있는 애자일은 2001년부터 시작되었다고 합니다. 소프트웨어 프로젝트를 일련의 선형적 순서로 구성하는 워터폴(Waterfall) 방식의 프로젝트 관리에 대응하여, 소프트웨어 개발자 그룹이 애자일 소프트웨어 개발에 대한 선언문을 작성했습니다. 이 문서에서 프로그래머는 소프트웨어 개발에 대한 새로운 접근 방식을 제안하고, 다른 고려 사항보다 가치가 있다고 생각하는 4가지 주요 특성을 설명합니다. 간단히 요약하면, 애자일 소프트웨어 개발팀은 다음과 같은 부분에 가치를 두어야 합니다.
개인과 개인 간의 상호작용이 프로세스 및 툴보다 우선
작동하는 소프트웨어가 포괄적인 문서보다 우선
고객과의 협업이 계약 협상보다 우선
변화에 대응하는 것이 계획을 따르는 것보다 우선
애자일의 기원
애자일은 많은 소프트웨어 개발자가 워터폴의 프로덕션 주기와 협업 방법이 원하는 결과를 내지 못한다는 점에 주목할 때 시작되었습니다. 이 문제는 조직의 비즈니스 요구 사항 검증에서 작동 가능한 애플리케이션 제공에 이르기까지 수년간 지체되는 일이 일반적이었던 1990년대 초까지 만연했다고 합니다. 그동안 비즈니스 요구 사항과 시장 상황은 소프트웨어 프로젝트의 상당 부분이 구현되기도 전에 취소될 정도로 변하곤 했습니다. 이처럼 시간과 자원이 낭비되자 많은 소프트웨어 개발자가 대안을 모색하기 시작했습니다.
위협에 직면한 조직에서는 비즈니스의 빠른 속도를 따라잡기 위해 점차 디지털 트랜스포메이션 전략을 도입합니다. 그리고 이때 애자일 소프트웨어 개발이 종종 중요한 역할을 합니다.
애자일은 오늘날 많은 디지털 워크플로우의 기반을 형성합니다. 유연하고 확장 가능한 IT 인프라를 갖춘 클라우드 컴퓨팅이 애자일 소프트웨어 개발의 수요 증가와 맞물려 성장하고 있습니다. 클라우드 네이티브 개발은 비즈니스 요구에 따라 확장할 수 있는 일련의 상호 연결 서비스로서 애자일과 비슷한 소프트웨어 개념을 수용합니다.
DevOps라는 개념은 소프트웨어 개발과 운영 사이의 오래된 벽을 무너뜨립니다. SRE는 소프트웨어를 툴로 활용하여 시스템을 관리하고, 운영 태스크를 자동화하는 DevOps를 구현합니다. CI/CD 방법은 소프트웨어가 계속 변화하며 새 코드를 배포할 수 있는 속도를 가속하는 툴을 개발자에게 제공합니다.
사이트 신뢰성 엔지니어링(SRE)은 IT 운영에 대한 소프트웨어 엔지니어링 접근 방식입니다.
SRE 팀은 소프트웨어를 툴로 활용하여 시스템을 관리하고, 문제를 해결하고, 운영 태스크를 자동화합니다.
오늘도 긴 글 읽어주신 여러분께 감사합니다 !
이제 애자일 방법론이라는 개념 자체가 시간에 따라 변화하는 고객의 요구 사항에 대응하는 민첩한(agile) 아이디어라는 것을 눈치채셨죠?
다음 포스팅에서는 DevOps의 핵심이라고 생각하는 CI/CD에 대해서 알아보려고 합니다. 다음에 또 봐여 ~ ~
reference site
1. https://www.redhat.com/ko/devops/what-is-agile-methodology
'INFRA > DevOps' 카테고리의 다른 글
Pod (0) | 2022.04.21 |
---|---|
kubernetes 설치 방법 (0) | 2022.04.20 |
쿠버네티스 환경 (0) | 2022.04.13 |
DevOps란 무엇일까? (0) | 2022.04.08 |
쿠버네티스란 ? (0) | 2022.04.06 |
댓글