폭포수(워터풀) / 프로토타입 / 나선형 / 애자일 개발 프로세스 쉽게 알아보자

프리모아_IT기술파트너

·

2021. 1. 12. 11:46

 

 

최근 코로나 19 사태로 비대면 문화가 빠르게 확산하면서, 다양한 산업군에서 시대적인 흐름을 따르기 위해 SW 산업과 연계를 모색하고 있습니다.

 

 

이처럼 IT 기술과 연계를 모색하는 기업들이 선호하는 방식은 대체적으로 IT 아웃소싱입니다. IT 아웃소싱은 개발자를 고용하지 않고 필요한 프로젝트를 해결할 수 있어 비용과 시간관리에서 상당히 효율적이기 때문입니다.

 

 

 

 

 

 

 

 

하지만, IT 아웃소싱을 의뢰하기 위해 중개 플랫폼인 프리모아를 찾는 클라이언트들은 "개발이 어떻게 진행되는지 전혀 모르겠다" 라고 호소하는 경우가 많습니다. 개발 프로세스에 대한 지식이 없는 상태로 프로젝트를 진행하기에 발생하는 문제라고 생각합니다. 

 

 

저희 프리모아는 지금까지 다양한 클라이언트의 프로젝트를 연결해주는 역할을 하면서 클라이언트가 프로세스 모델에 대한 내용을 알고 있다면 더 빠르고 원활한 작업이 가능했을 것이라고 생각합니다.

 

 

그래서 이번 글에는 아웃소싱할 때 자주 사용되는 개발 프로세스 모델은 무엇이 있고 활용은 어떻게 하는지 소개하려고 합니다.

 

 

 

 

 

소프트웨어 개발 프로세스 종류와 소개

 

 

소프트웨어 프로세스(Software Process)란? 대부분 프로세스란 단어는 어떤 일을 처리하는 과정을 뜻하죠. 소프트웨어 프로세스도 같은 말입니다. 일종의 설명서 내지는 가이드라인이라고 생각하시면 쉽습니다.

 

 

 

 

 

 

 

소프트웨어 프로세스는 프로젝트의 작업 순서, 구조, 기능 등 다양한 것을 아우를 수 있죠. 이런 과정을 체계화시킨 것이 '소프트웨어 프로세스 모델', SDLC라고 표현합니다.

 

 

 

 

 

1) 폭포수 모델(Waterfall Model)

 

 

'폭포수 모델(Waterfall Model)'은 일반적으로 사용되는 모델이며, 많은 이들에게 가장 익숙한 형태를 가지고 있습니다.

 

 

고객의 의뢰 분석설계디자인과 코딩테스트와 유지보수로 이어지는 과정이 순차적으로 흘러가는 폭포와 비슷하다고 해서 붙여진 이름이죠. 설계된 SW를 구현하고 테스트를 거쳐 유지보수하는 작업을 진행합니다.

 

 

 

 

폭포수 모델(Waterfall Model)

 

 

 

 

이 모델은 단계별로 정형화된 접근 방식은 기술적인 리스크를 줄일 수 있고 오랜 기간 사용되면서 쌓인 사례를 쉽게 찾을 수 있다는 장점이 있습니다. 

 

 

프로젝트 규모가 작거나 진행자의 경험이 적은 경우 혹은 프로젝트에 대한 요구사항이 초기와 달라질 가능성이 낮다면 폭포수 모델은 훌륭한 활용 모델이 될 것입니다.

 

 

 

 

 

 

 

하지만 폭포수 모델의 단점을 주의할 필요도 있습니다. 이 모델은 수행이 완료되기 전까지 다음 단계로 진행을 제한하는 형태를 가지고 있으며, 단계별 구현에 포커스가 맞춰져 있어 작업물이 나온 이후에는 수정이 어렵습니다.

 

 

특히 클라이언트와 개발자 간 단계별로 원활하게 소통이 이뤄지지 않는 경우 혹은 시제품을 확인하기 전까지 실체를 확인하지 못해 문제점이 발견될 경우 시간과 비용이 증가할 수 있다는 위험요소가 존재합니다.

 

 

 

 

2) 프로토타입 모델(prototype model)

 

 

프로토타입 모델은 폭포수 모델의 단점을 보완한 프로세스 모델입니다. 예를 들어 폭포수 모델은 각 단계를 진행함에 있어 클라이언트의 의견을 반영하기 어렵지만, 프로토타입 모델은 이 점을 보완해 클라이언트의 의견을 중시하는 점진적 개발 모델입니다.

 

 

폭포수 모델은 클라이언트의 요구에 맞춰 단계별로 개발 과정을 완료하고 1차 프로토타입을 클라이언트에게 제시 후 클라이언트의 만족도에 따라 다시 2차 수정이 발생할 수 있거나, 1차로 제시한 프로토타입이 최종 결과물이 될 수 있죠.

 

 

 

 

프로토타입 모델(prototype model)

 

 

 

 

프로토타입 모델은 클라이언트의 요구사항을 듣고 설계하며, 고객의 평가를 받는 과정을 요구사항 정의 및 분석 과정에서 진행하죠. 초기 단계에 직접 참여할 수 있어서 클라이언트와 개발자 간 커뮤니케이션 오류를 줄여줍니다.

 

 

프로토타입 모델은 두 가지로 구분하는데, 첫 번째 실험적 모형(Experimental)은 개발하는 소프트웨어의 일부분을 직접 개발하여 요구사항을 검증하고, 시제품은 개발 단계에서 폐기하는 방식으로 진행합니다. 두 번째는 진화적 모형(Evolutionary)은 개발된 1차 프로토타입을 계속 발전시켜 최종 SW 개발을 완성하는 방식이죠.

 

 

하지만, 이 모델도 단점은 존재합니다. 개발자와 클라이언트의 의사소통을 원활하게 하는 반면, 개발자 쪽에서 먼저 개발하여 클라이언트에게 유사 모델을 제시해야 하는 것이죠.

 

 

 

 

 

 

 

즉, 개발자 쪽에서 선호하지 않는 방식입니다. 개발자가 해당 프로젝트 리스크가 없다고 판단하면 프로토타입 모델을 차용할 수 있으나, 위험부담이 높고 비용이 낮은 프로젝트는 해당 모델을 선호하지 않죠.

 

 

클라이언트 입장에서도 프로젝트 진행 과정에서 필요하지 않은 기능을 추가하면서 불필요한 비용이 발생할 수도 있습니다. 또한, 결과물 품질 유지와 장기적인 관리가 힘들다는 단점도 있죠.

 

 

 

 

 

3) 나선형 모델(Spiral model)

 

 

 

나선형 모델도 전통적인 소프트웨어 개발 프로세스 모델로 꼽힙니다. 나선형 모델은 최근에 많이 사용되는 프로세스 모델로 계획 및 정의 위험분석개발고객의 평가 방식으로 순환되는 구조를 갖고 반복하죠. 그리고 이 과정에서 리스크를 찾아냅니다. 마치 보고서를 여러 번 검토하는 것과 같다고 생각하시면 됩니다.

 

 

 

 

나선형 모델(Spiral model)

 

 

 

 

핵심은 단순한 순환이 아니라 '나선형'이라는 것이죠. 나선 모양은 범위를 점진적으로 확장하는 형태를 가지고 있으며, 위험을 최소화하기 위해 개발 과정을 반복하고 결과적으로 완벽한 최종 소프트웨어 개발에 도달하는 모델입니다. 진행 과정에서 클라이언트의 평가가 반영되기에 수준 높은 개발 품질을 보장받을 수 있죠.

 

 

하지만, 평가의 과정이 반복되기 때문에 해당 모델은 위험 요소를 줄여야 하는 중요한 프로젝트이거나, 장기간 개발을 보장할 수 있는 프로젝트에 유용합니다.

 

 

피드백을 받아 지속적으로 개발하고 발전하는 모델이기에 많은 피드백이 수용되는 상업용 제품에는 부적합합니다. 또한, 아직까지 나선형 모델이 적용된 사례가 많지 않아 충분한 검증이 필요하죠.

 

 

 

 

 

4) 애자일 모델(Agile Model)

 

 

애자일 모델은 고객의 요구에 신속한 피드백을 중점에 둔 모델이며, 프로세스에 얽매이지 않고 코딩 작업을 통해 끊임없이 새로운 프로토타입을 제시하는 것이 특징입니다.

 

 

 

 

애자일 모델(Agile Model)

 

 

 

 

그래서 개발 후반에 추가되는 요구 사항도 처리해야 하며, 경쟁력 강화를 위한 빠른 처리를 중요시 여기죠.

 

 

새롭게 개발되는 프로토타입은 자주 고객에게 전달되며, 그 기간이 짧아야 좋다고 평가받고 있습니다. 클라이언트와 개발자는 의사소통을 자주 해야 하며 정기적인 미팅을 가져야 합니다.

 

 

그렇기에 애자일 프로세스 모델은 SW를 신속하게 제공하는 과정이 반복되기에 개발자들 사이에선 '무한개발의 반복'이라는 비난을 받죠. 또한, 이 모델이 추구하는 잦은 소통과 미팅은 대형 프로젝트에 적합하지 않다는 평가를 받습니다.

 

 

이번에는 소프트웨어 프로세스 모델의 각 장단점을 요약해서 봤는데요. IT 아웃소싱을 진행할 때 어떤 프로세스 모델을 통한 개발을 진행하는지에 따라 결과물이 차이가 날 수 있습니다. 자신의 회사가 진행하는 프로젝트에 맞는 프로세스를 차용하는 것이 가장 중요하며, 프로세스 모델을 선택할 때는 비용과 장단점을 구분하고 단점을 보완할 수 있는 프로그램이 존재하는지(협업 툴, 보증보험 등)를 살펴보시기를 바랍니다.

 

 

 

 

 

 

 

 

부가적으로 IT 아웃소싱 진행함에 있어 "비교견적"이나 프로세스 모델에 궁금한 사항이 있다면 프리모아 무료 컨설팅을 통해 확일할 수 있습니다.

 

 

 

 

 

 

 

 

Recommended for You