TIL | 애자일(Agile) (feat. 완벽한 건 없다)

Jeony·2022년 2월 14일
0

TIL

목록 보기
3/3
post-thumbnail

많은 개발 방법론 중 가장 뜨거운 애자일!
공부해봅시다!


📌애자일 이전의 개발 방법론

애자일 이전의 전통적인 개발 프로세스들은 폭포수 모델과 계획 기반 개발을 따른다.

💡폭포수 모델: 말 그대로 물이 아래로 떨어지는 듯한 방법론이다. 폭포의 물은 위로 못올라간다.
지나간 단계는 위로 거스를 수 없기 때문에 완벽하게 하고 다음 단계로 넘어가는 방식.

  • 초기 요구사항은 곧 법이기 때문에 제품이 완성이 되었을 때의 결과물이 고객의 기대에 미치지 못할 수 있다.
  • 즉흥적인 대응이 어렵기 때문에 빠르게 변화하는 요즘 시대에는 큰 맹점이 될 수 있다.
  • 고객의 참여가 제풀 출시 후기 때문에 만족도가 낮을 수 있다.

라는 단점과 일자로 떨어지는 일처리 방식을 싫어하는 객체지향파들이 이러한 일처리 방법에서 탈피하고자 만든 것이 애자일 방법론이다.

📌애자일이란?

Agile의 뜻
1. 날렵한, 민첩한 2. 기민한

켄트 벡을 포함한 미국의 소프트웨어 개발자 17명이 모여 애자일 연합을 결성해서 애자일 소프트웨어 개발 선언이란 것을 했던 일이 있었어요.

애자일 소프트웨어 개발 선언

  • 공정과 도구보다 개인과 상호작용
  • 포괄적인 문서보다 작동하는 소프트웨어
  • 계약 협상보다 고객과의 협력
  • 계획을 따르기보다 변화에 대응하기

간단하게 말하자면..

고객들에게 최소의 기능 또는 제품을 보여주고 피드백을 받은 후 개선하는 방식이예요.
잘 아는 방식이죠?

조금 더 풀어서 말하자면..

수평적(직급 X) 관계로 책임을 가지고 자유롭게 의견을 표출할 수 있는 분위기의 작은 팀이 있어요.
1~4주 사이의 짧은 주기로 최소의 기능을 고객에게 보여주어 고객과 함께 개선점과 추가할 점을 찾고 개발해요!
🔻
반복
🔻
반복
🔻
반복
🔻
결국, 최소한의 기능이었던 기능 또는 제품이 눈덩이를 굴렸을 때, 커지는 것처럼 커지면서 완성되고 고객은 자신의 요구사항에 대해 만족할 수 있게 됩니다.

업무를 위해 자세히 말하자면..

레스토랑을 생각해봅시다.

  1. 웨이터가 파스타 주문을 받아옵니다.
  2. 마스터 셰프는 주문을 보고 자신의 팀(스프린트) 안에서 우선순위를 정해서 새우(티켓), 토마토(티켓), 브로콜리(티켓), 파스타 면(티켓) .. 등을 처리할 다른 요리사들에게 요구합니다. 그러면 동시에 모든게 시작되고 요리를 제때 만들 수 있겠죠?

애자일은요

  1. 고객의 요구사항으로 인해서 개발을 해야합니다.
    🔻
  2. 요구사항을 정확히 이해하고, 어떻게 개발할지, 흐름을 유기적으로 시각적으로 만듭니다.
    이를 칸반 프로세스라고 부릅니다. *칸반은 일본어로 간판
    🔻
  3. 스크럼 마스터는 제품 고객 및 개발팀과 협력해서 요구사항을 동시에 다룰 수 있는 그룹으로 구성하고 우선순위를 정합니다.
    여기서 그룹을 스프린트(sprint)라고 합니다.
    규모가 있는 개발이라면 기능이 많으니 스프린트가 많겠죠?
    🔻
  4. 스프린트는 개발을 시작합니다.
    스프린트 짧은 몇주 간의 기간 안에 티켓을 완료한 후 다음 스프린트에 넘깁니다.
    🔻
  5. 스프린트가 끝나는 동안 고객과 개발자와 이해관계자들이 서로 피드백을 주고 받습니다.
    이를 레트로스펙티브(Retrospective)라고 부릅니다.

애자일 개발은 제품이 전달 될 때까지 스프린트가 계속 반복, 반복, 반복 됩니다.

(사진출처: 정관타임스Live(http://www.jgtimes.com))

📌애자일의 장점, 단점

장점

즉각적인 피드백에 유연하며 프로토타입 모델을 빠르게 출시할 수 있다!
요구사항 수용이 쉽다!
프로젝트를 반복으로 세분화하면 고품질 개발, 테스트 및 협업에 집중 할 수 있다!
프로젝트에 여러 팀이 참여하므로 팀워크 향상!
점진적으로 테스트할 수 있어서 버그를 쉽고 빠르게 발견할 수 있다!

단점

요구사항으로 인한 반복적인 유지보수 작업이 많다..
다양한 분야에서의 높은 수준의 기술을 보유하고 있고 책임감이 있는 구성원을 찾기 어렵다..
명확한 문서보다 작업을 선호하는 프로세스..
애자일은 매우 유연하기 때문에 고객의 피드백 진화로 처음 원하던 것과 다른 작업물이 되어 있을 가능성 다분!

📌애자일 해볼까?

애자일을 적용할 때 가장 중요한 것은,
진행될 프로젝트과 개발 구성원, 비지니스 관계자에 따라서 애자일을 유연하게 적용해야한다는 것이다.
또한, 워터폴의 프로세스가 잘 어울리는 조직이 있다.
애자일이 정답이 아니기 때문에 조직과 어울리는 프로세스를 적용해야 한다.

‘애자일 전략(조직을 민첩하고 유연하게 바꾸는)’ 저자 대럴 릭비는 매일경제와의 인터뷰를 통해 애자일에 대해 “애자일을 위한 애자일은 안 된다. 애자일은 성과 개선을 위한 수단으로 사용해야 된다. 조직의 목표와 목적, 핵심 성과물을 명확히 하는 것으로 출발하라”고 조언했다.

또 그는 “애자일은 교육으로 배울 수 있는 것이 아니므로 업무 형태 자체가 '애자일'해야 한다. 경영진 차원에서는 구성원들이 애자일의 장애물을 제거할 수 있도록 집중할 필요가 있다”

”고객에 대한 영향이 적은 부문, 구성원이 꺼려하는 부문부터 자원을 차출해 점진적으로 애자일 팀을 구성하는 게 좋다. 구성원이 즐기지 못하는 애자일은 애자일이 아니다”고 말했다.

(기사출처: 사례뉴스(http://www.casenews.co.kr)

profile
알고리즘으로 문제를 해결하자 (ʘ言ʘ╬)

0개의 댓글