-
애자일 방법론, 폭포수, 칸반, 스크럼, 데브옵스 개념 정리공부하자 2021. 12. 17. 00:12728x90반응형
빠르게 변화하는 시대에 따라 조직의 문화도 바뀌어가고 있는 추세다.
말로만 들어봤던 애자일에 대해 기본 개념과 어떤 방법론들이 있는지 정리를 해본다.
WATERFALL MODEL (폭포수 모델)
- 정해진 계획에 따라 최종 결과를 내놓는 방식
- 폭포수가 거꾸로 올라갈 수 없듯 프로젝트 계획을 도중에 바꾸는 일이 거의 없기 때문에 붙여진 이름
- Concept, Design, Develop, Test 단계적으로 개발하는 방법
- 인덱스 체크와 진척도 관리에 집중
단점은 모든 작업이 시작되기 전에 계획을 완료해야 하며, 대부분 개발이 완료되면 프로젝트를 완전히 이해하지 못한 채 계획이 완료된다.
처음부터 다시 시작해야 하거나 개발자가 계획을 이해하지 못한다는 이유로 plan > build > test 이 과정을 여러번 거칠 수 있다.
몇 개월에서 몇 년이 소요된다.
이처럼 기존 중간 과정의 관리와 계획에 초점을 두던 엔지니어들이 새로운 방식의 개발 방법론 고민하게 된다.
MINIMUM VIABLE PRODUCT(MVP)
- 최소한의 핵심기능만을 탑재한 프로그램 또는 제품을 의미
- 개발과 함께 즉시 피드백을 받아서 유동적으로 개발하고 발전시키는 방법
애자일 소프트웨어 개발 선언(AGILE MANIFESTO)
- 1990년 대로 넘어오면서 무거운 개발 방법론에서 벗어나 유연한 접근 방법을 시도하면서
2001년 17명의 개발자들이 10년간의 다양한 시도 끝에 '애자일 선언문'을 발표
- 변화에 대응하는 행동 중심 철학
애자일 소프트웨어 개발 선언
1. 공정과 도구보다 개인과 상호작용
2. 포괄적인 문서보다 작동하는 소프트웨어
3. 계약 협상보다 고객과의 협력
4. 계획을 따르기보다 변화에 대응
과제 수행에 필요한 역량을 가진 팀이 자율과 권한, 책임을 가지고 서로간의 신뢰를 바탕으로 수평적 소통과 협력을 통하여
1~4주 짧은 주기로, 반복적이고 점진적인 개발을 통해 변화에 민첩하게 대응하여 제춤의 가치를 높여 나가는 개발 방법이라 할 수 있다.
고객이 참여하고, 고객과 협력하고, 고객에게 가치를 전달하여 고객을 만족시키고,
제품과 일하는 방식을 지속적으로 개선해 나가는 끝 없는 여정. 아래는 애자일 관련 개념을 정리해본다.
1. Design Thinking
- 과거에는 데이터를 수집해서 분석하고, 분석된 인사이트를 통해 플래닝하고,
플래닝에 의해 실행 = 로지컬 띵킹 (데이터 기반의 논리적 사고)
- 예측 불가능한 시장상황으로 통찰력에 의한 직감에서 시작, 고객 반응을 거쳐 제품의 고도화
- 디자이너의 사고방식에서 유래
2. Lean Startup
- 에릭 리스가 자신의 성공과 실패 경험을 바탕으로 벤처기업 성장을 위해 고안한 경영 전략
- 도요타(TOYOTA)와 린 경영(LEAN MANAGEMENT)이 비슷하다 하여 린 스타트업이라고 이름 지음.
- 데이터 > (학습) > 아이디어 > (개발) > 소프트웨어 > (측정)
- 고객의 반응을 살펴서 고도화시키고, 수용되지 않았을 경우 피봇(개발 방향의 전환)
3. Kanban & Scrum
- 애자일을 수행해 나가는 도구의 하나
- 칸반(Kanban) : 도요타(TOYOTA)에서 생산 운영의 효율화를 위해 만들어낸 기법으로
개발자에게 과도한 부하를 주지 않으면서 적시에 상품을 출시하는 방법, 시간이 정해지지 않은 일의 일상적인 일에 적합
- 스크럼(Scrum) : 특정 개발 언어나 방법론에 의존하지 않고, 작은 주기(SPRINT)로
개발 및 검토를 하며 효율적인 협업 제공, 시간이 정해진 일을 진행하는데 적합
4. DevOps
- 운영자와 개발자를 통합하는 개념
- 개발(DEVELOPMENT)와 운영(OPERATION)의 합성어, 개발자와 정보기술 전문가 간의 소통,
협업 및 통합을 강조하는 환경이나 문화를 의미
- 데브옵스 : 개발자가 운영자 업무도 수행, 통합된 관점에서 빠른속도로 SW 개발
5. eXtreme Programming (XP)
- 비즈니스 상의 요구가 시시각각 변동이 심한 경우 적합한 방법
- 비교적 적은 규모 인원의 프로젝트에 적합하여 조직적인 개발 움직임 보다는 개개인의 책임과 용기에 중점
- 두 명이 똑같은 프로그램을 개발, 경쟁과 보완을 통한 신속한 개발
따라서 앞서 5가지는 아래와 같이 재정리할 수 있다.
Design Thinking - 애자일의 사고 방식
Lean Startup - 애자일의 스타트업 성장방식
Kanban & Scrum, DevOps, eXtreme Programming (XP) - 애자일을 실현하는 도구
IT 개발 방법론 애자일은 2000년대 초반에 들어 왔음에도 불구하고, 그동안 왜 성공적이지 못했을까?
참여하는 사람들이 굉장히 많고, 그 사람들 간의 의견들을 조율해 나가는 방식이며
위계적인 조직문화와 IT 조직으로의 애자일의 방법론들이 상충했기 때문.
최근 들어 전체적인 조직의 운영 관점에 있어
수평적인 조직으로 이동하여 애자일 방법론을 적용하는 데 원활한 환경을 갖추었다고 할 수 있다.
참고 링크
728x90반응형'공부하자' 카테고리의 다른 글
모바일 앱의 종류 정리(네이티브 앱, 하이브리드 앱, 모바일 웹, PWA) (0) 2022.01.12 부하 테스트와 스트레스 테스트의 차이점 (0) 2022.01.11 2022년 트렌드에 대해 알아보자! <트렌드 코리아 2022> (0) 2022.01.09 요구사항 정의서(요구사항 기술서) 작성 (0) 2022.01.09 스크럼 마스터(Scrum master), 프로덕트 오너(Product Owner)의 역할 정리 (0) 2021.12.20