소프트웨어 개발 방법론 - 애자일(Agile)

2022. 3. 10. 09:01SW개발론

Agile - 날렵한, 민첩한, 재빠른 기민한


애자일 프로세스 모델 

  • 고객의 요구에 민첩하게 대응하고 그때 그때 주어지는 문제를 풀어나가는 방법론
  • 짧은 주기의 개발 단위를 반복하여 하나의 큰 프로젝트를 완성해 나가는 방식
  • 설계 - 개발 - 평가의 단위를 반복
  • 문서를 통한 개발이 아닌 일정 주기를 가지고 실질적인 코딩을 통해 개발을 진행하며 그때 그때 필요한 요구를 더하고 수정하며 진행하는 방법
  • 하나의 개발 문화
  • 개발자, 기획자, 테스터 등 모두가 whole team! + 반복적인 것들을 자동화 해줄 시스템들 필요

배경

무 계획 개발과 지나치게 많은 계획을 가진 개발 방법들 사이에서 타협점을 찾음

  • 무 계획 개발: 개발 기간, 비용, 인력 등 앞으로 일을 예측하기 어려움, 문서화 되지 않아 추후 관리가 어려울 수 있음
  • 지나친 계획: 문서나 단계 절차 등 형식적인 절차를 따르는데 필요한 시간과 비용이 과도하게 들어 비효율적일 수 있음

 

--> 미래를 예측하기 보다는 주기적으로 제작 프로토타입을 시험해보는 철저한 관리를 통한 개발 방법론

 


 

애자일의 기본 가치(애자일 선언문)

  • Individual and interactions over process and tools - 프로세스와 도구 중심이 아닌, 개개인과의 상호 소통 중시
  • Working software over comprehensive documentation - 문서 중심이 아닌, 실행 가능한 소프트웨어 중시
  • Customer collaboration over contract negotiation - 계약과 협상 중심이 아닌, 고객과의 협력 중시
  • Responding to change over following a plan - 계획 중심이 아닌, 변화에 대한 민첩한 대응 중시

 


애자일의 장/단점

장점

  1. 개발 주기를 통해 프로젝트의 방행과 목표를 가늠하도록 도와줌
  2. 반복적인 결과물이 나오게 되는데, 이를 통해 수정된 요구 사항과 문제점을 빠르게 파악할 수 있음
  3. 파악된 문제점을 초기에 해결할 수 있음
  4. 팀의 개개인의 노력이 스크럼 미팅 동안 잘 보여짐

단점

  1. 너무 개발자 중심의 방법론일 수 있음(기획자, 디자이너가 개발자에게 끌려가는 형태)
  2. 빈번한 수정으로 개발 시 인력들이 느끼는 피로도가 높음
  3. 불완전하고 예측 불가능한 요소(비용, 시간)를 지닌 채 진행할 수 있음
  4. 규모가 큰 프로젝트나 팀은 애자일을 적용하는게 어려울 수 있음
  5. 중간에 팀 멤버가 나가면 프로젝트에 안좋은 영향을 끼침

 


애자일 모델을 적용하기 좋은 조건

  • 정확한 목표를 위한 프로세스를 정립하지 못한 조직 --> 쉽고 빠르게 애자일 모델을 적용해 볼 수 있음
  • 전통적인 프로세스를 도입해 진행하고 있지만 효율적인 결과물을 산출해 내지 못하는 조직 --> 애자일 모델의 도입으로 조직의 문화가 바뀌고 효율성이 개선될 수 있음

 


출처

https://www.simplilearn.com/resources/agile-and-scrum/articles

https://www.digite.com/agile/scrum-methodology/

https://www.altexsoft.com/whitepapers/agile-project-management-best-practices-and-methodologies/

'SW개발론' 카테고리의 다른 글

SCRUM(스크럼)  (0) 2022.03.10
소프트웨어 개발 방법론 - 폭포수 방식(waterfall)  (0) 2022.03.10