프로젝트 방법론

GreenBean·2021년 7월 17일
0
post-thumbnail

Agile vs Waterfall

Agile이란?

  • 애자일(Agile)은 1970년대 윌리엄 로이스가 대형 소프트웨어 시스템 개발에 관해 제출한 논문에서 처음 등장
  • 신속한 반복 작업을 통해 실제 작동 가능한 소프트웨어를 개발하여 지속적으로 제공하기 위한 소프트웨어 개발 방식
  • "애자일 방법론"이라는 문구는 애자일이 독특한 소프트웨어 개발 방식임을 나타내기 때문에 오해의 여지가 있으나, 애자일은 정확히 말하자면 소프트웨어 개발에 필요한 작업을 알려주는 일련의 규정이 아니며 그보다는 협업과 워크플로우를 바라보는 하나의 관점이고 무엇을 어떻게 만들지에 관한 선택을 안내하는 가치 체계
    • 구체적으로 말하자면, 애자일 소프트웨어 개발 방법론의 핵심작동하는 소프트웨어의 작은 구성 요소를 신속하게 제공하여 고객의 만족도를 개선하는 것
    • 이러한 방법은 적응형 접근 방식과 팀워크를 활용한 지속적인 개발에 중점을 두고 있음

Tip! 애자일 모델은 실질적인 개발을 통한 방법론에 가깝다.

기존 워터폴 모델과 달리 문서를 통한 작업을 최소화하며, 실제 개발을 통한 작은 단위의 프로토타입, 테스트베드를 개발하고 이를 통해 발생하는 요구사항을 수정하고 기능을 더해 결국 최종적으로 큰 프로젝트를 완성시키는 방식을 설명하고 있다.

하나의 단계가 완료되지 않으면 다음 단계로 넘어갈 수 없는 워터폴 모델과의 가장 큰 차이점은 애자일 모델에서는 일정한 주기를 설정하고 끊임없이 프로토타입을 만들고 클라이언트와 소통하며 요구사항을 더하고, 수정하는 방법으로 클라이언트가 개발 과정에 참여할 수 있는 부분이 발생하며, 조금 더 긴밀한 소통과 관계를 유지할 수 있도록 하는 방법론이다.

Agile의 가치

  • 소프트웨어 프로젝트를 일련의 선형적 순서로 구성하는 워터폴(Waterfall) 방식의 프로젝트 관리에 대응하여, 소프트웨어 개발자 그룹이 애자일 소프트웨어 개발에 대한 선언문(The Manifesto for Agile Software Development)을 작성
  • 이 문서에서 프로그래머는 소프트웨어 개발에 대한 새로운 접근 방식을 제안하고, 다른 고려 사항보다 가치가 있다고 생각하는 4가지 주요 특성을 설명
    • 개인과 개인 간의 상호작용이 프로세스 및 툴보다 우선
    • 작동하는 소프트웨어가 포괄적인 문서보다 우선
    • 고객과의 협업이 계약 협상보다 우선
    • 변화에 대응하는 것이 계획을 따르는 것보다 우선

Agile 개발을 위한 역량

  • 애자일(Agile) 팀은 고객 중심적이고, 환경 변화에 잘 적응하며, 악조건 속에서도 제품을 출시할 수 있어야 함
  • 애자일 방식으로 개발하려면 팀과 고객 모두에 강력한 팀워크와 책임감이 있는 인력이 있어야 함
  • 애자일 팀은 진행 속도가 빠른 개발 환경에서 좋은 성과를 낼 뿐 아니라 결과물의 퀄리티 및 개발 프로세스를 개선하는 데 초점을 둠

Waterfall이란?

  • 워터폴(Waterfall) 모델에서는 각 개발에 필요한 단계를 순차적으로 진행하면서 한 단계 한 단계 앞으로 나아가는 방식으로 진행
    • 즉, 초기 단계에서 고객과의 인터뷰 또는 서류를 통한 요구사항 분석을 진행해 해당 내용을 확정하고 난 뒤 설계를 진행
    • 또한 설계에서 전체 시스템에 대한 설계도가 모두 완성이 된 후 개발 단계로 넘어가 본 개발을 진행하고, 개발이 완료가 되면 검증을 하는 단계로 넘어감
  • 단계에 대한 구분을 명확히 하며, 개별 단계에서 정형화된 접근 방식을 통해 기술적인 리스크를 최소한으로 감소시키는 것이 장점인 프로젝트 방법론
  • 기술적 리스크를 줄이는 부분에서는 어느정도 장점을 가지고 있으며, 각 단계에 대한 책임소재나 진행 여부가 명확하게 표시되는 부분으로 인해 대규모 프로젝트에 적합하다는 평을 많이 가지고 있는 모델
  • 단점으로는 클라이언트와의 소통 ・ 커뮤니케이션에 문제가 일부 발생할 수 있다는 점인데, 초기 요구사항을 분석하고 추출하는 단계를 지나고 난 뒤에는 클라이언트의 입장에서는 결과물을 받아 테스트를 하기 전까지 정확하게 요구사항이 반영되었는지에 대한 파악을 하기가 어려운 부분이 있고, 요구사항이 중간에 고객과의 인터뷰를 통해 변경이 되는 상황이 발생한다면 일정이나 비용적인 부분에서 수정이 어려운 모델

Waterfall 개발을 위한 역량

  • 기존 워터폴(Waterfall) 기반 프로젝트 팀은 프로세스와 절차가 잘 정착된 환경에서 업무를 능숙하게 처리
  • 의외적인 상황이 없을 때 작업 능률이 오름
  • 체계적이면서 사전합의된 요구사항을 충족하는 데 초점을 맞춤
  • 팀 구성원은 고객뿐 아니라 조직 내 다양한 영역의 이해관계자와도 능숙하게 협업할 수 있으며 정책이나 엄격한 가이드라인도 잘 준수

profile
🌱 Backend-Dev | hwaya2828@gmail.com

0개의 댓글