폭포수 모델
폭포수 모델(waterfall model)은 순차적인 소프트웨어 개발 프로세스(소프트웨어를 만들기 위한 프로세스)로, 개발의 흐름이 마치 폭포수처럼 지속적으로 아래로 향하는 것처럼 보이는 데서 이름이 붙여졌다. 폭포수 모델을 따르기 위해서는, 완전히 순차적으로 한 단계, 한 단계를 진행해 나가야 한다. 예를 들어, 가장 먼저 요구사항 기술을 진행하여 이를 확정하여야 하며, 그런 이후에 설계를 진행할 수 있다. 폭포수 모델은 전 단계가 수행되어 완료되기 전에는 다음 단계로 진행할 수 없도록 제한한다.
폭포수 모델을 따르는 이들은 소프트웨어 개발시 전단계가 100% 완료되고 모두 정확하다는 것을 확인한 후에야 다음 단계로 이행하고자 한다. 소프트웨어 요구사항은 설계가 시작되기 전에 돌과 같이 단단하게 확정되어야 하고, (그렇지 않은 경우, 정확하지 않은 요구사항에 기반한 설계는 버려질 수 있다.) 소프트웨어 설계는 개발자들이 구현을 시작하기 전에 완벽해야만 한다. (그렇지 않을 경우 역시 구현에 쓰이는 시간과 비용은 낭비된다. )
폭포수 모델에서는 요구사항 기술 및 설계, 그리고 소스 코드에 있어서의 정확하고 완벽한 문서화를 강조한다.
폭포수 모델은 그 간결한 접근 방식으로 인해 선호되기도 한다. 폭포수 모델은 소프트웨어 개발에 구조화된 접근 방법을 제공하고, 쉽게 이해할 수 있고 설명이 가능한 각각의 구분된 단계를 순차적으로 진행하게하며, 그런 이유로 프로세스 상의 마일스톤을 정하는 것도 상대적으로 쉽기 때문이다.
애자일 방법론
애자일 개발 방법론은 계획을 통해서 주도해 나갔던 과거의 방법론과는 다르게 앞을 예측하며 개발을 하지 않고, 일정한 주기를 가지고 끊임없이 프로토 타입을 만들어내며 그때 그때 필요한 요구를 더하고 수정하여 하나의 커다란 소프트웨어를 개발해 나가는 adaptive style 이라고 할 수 있다.
애자일 개발 프로세스란 어느 특정 개발 방법론을 가리키는 말은 아니고 "애자일(Agile=기민한, 좋은것을 빠르고 낭비없게 만드는 것) 개발을 가능하게 해 주는 다양한 방법론 전체를 일컫는 말이다. 예전에는 애자일 개발 프로세스는 "경량(Lightweight)" 프로세스로 불렸다.
- 익스트림 프로그래밍(Extreme Programming, XP) - 애자일 개발 프로세스의 대표자로 애자일 개발 프로세스의 보급에 큰 역할을 하였다. 이 방법은 고객과 함께 2주 정도의 반복개발을 하고, 테스트우선 개발(TDD)을 특징으로 하는 명시적인 기술과 방법을 가지고 있다.
- 스크럼 - 30일마다 동작 가능한 제품을 제공하는 스프린트(Sprint)를 중심으로 하고 있다. 매일 정해진 시간에 정해진 장소에서 짧은시간의 개발을 하는 팀을 위한, 프로젝트 관리 중심의 방법론이다.
+ 읽을거리
출처 : 위키피디아 / https://brunch.co.kr/@pyungkim/57 아틀라시안, 호주의 소프트웨어 강자 by 김평희
728x90
'Learning > Basic' 카테고리의 다른 글
VDI (가상 데스크톱 환경) (0) | 2022.08.22 |
---|---|
CronMaker (0) | 2022.08.16 |
[자료구조] Stack, Queue, Heap (0) | 2022.06.11 |
Runtime Error vs Compile Time Error (0) | 2022.06.11 |
레거시 코드란 (Legacy Code)? (0) | 2022.06.08 |