* 애자일(Agile)?
폭포수 모델등의 고전적인 방법론과의 가장 큰 차이는 적은 문서를 지향하고, 실제 개발(실용적인 측면을 강조한 개발 방법론)을 지향하는 방법이다.
애자일 방법론 장단점
소프트웨어 개발 각 단계를 명확하게 구분하지 않고 각 단계를 반복적으로 수행하면서, 요구사항을 더하거나 수정하면서 소프트웨어를 완성해 나간다.
커다란 소프트웨어를 개발하는데 요구사항 분석이나 설계를 완벽하게 하기 어려울 때 적합한 개발 방법론이 될 수 있다.
그리고 적은 문서 작성을 목표하고 실제 개발을 지향하는 방법론이기 때문에 실제 작동하는 소프트웨어는 기존 폭포수 모델 방법론과 다르게 빠르게 확인 할 수 있다는 장점 또한 있다.
하지만 실용적인 측면에서 개발하기 때문에, 체계화된 문서가 적을 수 있다는 단점이 존재한다.
* 폭포수 모델
폭포수 모델은 소프트웨어 개발하는데 있어서, 각 단계가 위에서 아래로 물이 떨어지는 것처럼 순차적으로 진행된다. 여러 단계가 병행적으로 진행되거나 거꾸로 진행되는 경우가 없다.
폭포수 모델 장단점
폭포수 모델은 각 단계를 문서화하는데 부담이 될 수 있고, 시간의 장비가 있을 수 있다. 하지만 문서화하는 것은 개발을 체계화된 문서를 기반으로 안정적으로 진행할 수도 있다.
각각의 개발 단계에서 진행이 완료된 다음 다음 단계로 진행하기 때문에 개발 프로젝트를 진행하는데 리스크는 적지만,
각 단계가 진행된 뒤에 요구사항이 변경되거나 설계등이 변경되면 추후에 커다란 문제(비용, 생산성)가 발생될 수 있다.
그리고 실제 현실에서는 개발 프로젝트에서 요구사항이 변경될 가능성이 높아, 각 단계가 반복될 수 있기 때문에 다소 현실적이지 못한 개발 방법론이 될 수 있다. (유연한 대처 불가능) 실제 작동하는 소프트웨어는 개발 후반부에 확인할 수 있다는 것이 추가 단점이 될 수 있다.
폭포수(Waterfall) | 애자일(Agile) | |
요구사항 | 한번에 정의 | 지속적으로 요구사항을 반영 |
고객과의 의사소통 | 적음 | 많음 |
테스트 | 마지막 단계에서 테스트 | 지속적인 테스트 |
출처 - https://hiseon.me/software-engineering/agile-vs-waterfall/
'CS > software engineering' 카테고리의 다른 글
Coding Convention (0) | 2021.08.03 |
---|---|
CI/CD (0) | 2021.07.03 |
결합도와 응집도에 대하여 (Coupling and Cohension) (0) | 2021.06.26 |
3rd party(써드 파티)란? (0) | 2021.06.19 |
라이브러리 vs 프레임워크 (0) | 2021.05.01 |