Agile

최민수·2023년 4월 21일
0

CS 전공지식

목록 보기
27/36


Waterfall Model

이전의 전통적인, 대부분의 소프트웨어 설계는 Waterfall Model 을 따라 진행되었다.
Waterfall 모델은 각각의 단계가 있고, 단계마다 해야 할 일을 충족시키면 다음 단계에서의 Input 으로써 영향을 미치게 되는 식으로 진행되는 설계 모델이다.

그림으로 보면 아래와 같다.

하지만 이런 설계 방식은 마지막 단계는 항상 모든 과정이 수행되고 난 뒤에 이루어지기 때문에 프로그램에 수정 사항이 있을 때 시간적, 자원적으로 손해가 엄청나다.


Waterfall Model 의 단점을 극복하자

Waterfall Model의 위의 단점을 극복하고자 나온 방법론이 바로 Agile 설계다.

Agile 방법론은 설계 전체 과정을 여러 개의 작은 micro-services 과정들로 나누어 진행시키는 설계 방법이다. 이렇게 되면 각 단계의 접근이 편해지고 수정사항이 있어도 보다 편리하게 적용시킬 수 있다.

즉, 전체 서비스 설계 과정이 오직 한 개의 큰 덩어리로 취급되던 Waterfall 모델에서 벗어나, Agile 방법론은 각 단계 간의 의존성을 최대한 낮추고 수정 사항을 적용시킬 때 모든 과정을 다시 반복하지 않도록 개선시킨 모델인 것이다.


Agile 개발 과정

Agile 방법론 기반의 개발을 진행하는 과정은 위 그림과 같다.

먼저 클라이언트를 위한 개발 환경에서의 개발을 진행하고 서비스를 만든다. 그리고 그 서비스를 공개하여 클라이언트 리뷰와 피드백을 받고 수정 과정을 거친 뒤 공식적인 서비스를 배포한다.

위 그림은 Agile 방법론 도입의 효과를 본 SONY 의 예이다.

전통적인 Waterfall 방법론 대신 Agile 방법론을 도입한 결과, 설계 시간의 28% 가 감소, 다운 타임 감소 효과, 그리고 연간 3000만 달러를 절약하는 효과를 봤다고 한다.


영상 출처: 애자일 방법론이란 무엇입니까? | 6분만에 애자일 방법론 소개 | 간단하게 배우다

profile
CS, 개발 공부기록 🌱

0개의 댓글