실리콘밸리가 열광한 ‘애자일 방법론’ 5가지 소개

2022.11.09

|

2909
실리콘밸리가 열광한 '애자일 방법론' 5가지 소개

*잠깐, 위시켓은 2022년 시밀러웹 방문자 수 기준, 국내 1위 IT아웃소싱 플랫폼입니다. 현재 10만 이상의 개발업체, 개발 프리랜서들이 활동 중이며 무료로 프로젝트 등록이 가능합니다. 프로젝트 등록 한 번으로 여러 개발업체의 견적, 예상기간, 포트폴리오 등을 한 번에 비교해 보세요📝

애자일 방법론 프로젝트 관리에 적용하기



애자일이란?

애자일은 프로젝트 관리와 소프트웨어 개발 분야에서 고객들에게 빠르고 번거로움 없이 가치를 전달하는 반복적인 접근 방식입니다.

모든 것을 한 번에 내놓는 ‘빅뱅’ 론칭 방식 대신, 애자일 팀은 작은 규모의 작업을 꾸준하게 전달합니다. 요구사항과 계획 그리고 결과는 계속해서 평가되므로 팀은 빠른 변화에 대응하는 노하우를 자연스럽게 채득합니다.

즉, 애자일은 타이트한 피드백 주기와 지속적인 개선에 대한 약속을 보여주는 방법론의 집합체입니다.

애자일의 주된 목표는 방대한 문서와 디자인에 집중하는 대신, 고객에게 집중하는 것입니다. 무엇보다 고객에게 제품을 선사하는 것이 우선순위가 되어야 합니다.

애자일 운동은 소프트웨어 개발 방법론을 배척하는 것이 아닙니다. 사실 우리들 중 많은 사람들이 방법론이라는 단어에 대한 신뢰를 회복하기를 원합니다. 우리는 균형을 되찾길 원합니다. 우리는 모델링1을 수용합니다. 그러나 이는 회사의 체계 없는 지식 저장소에 다이어그램을 보관하기 위함은 아닙니다. 우리는 문서화를 수용하지만 관리되지 않고 잊힌 많은 페이지들을 수용하는 것은 아닙니다. 우리는 계획하지만 격동의 환경 속에서 계획의 한계를 인지합니다. XP, 스크럼 또는 기타 ‘애자일 방법론’의 지지자를 ‘해커’로 낙인찍는 사람들은 방법론과 해커라는 용어의 원래 정의에 대해 무지합니다.

-짐 하이스미스, History: The Agile Manifesto



애자일 소프트웨어 개발의 가치

  • 프로세스와 도구보다 개인과 상호작용을
  • 포괄적인 문서보다 작동하는 소프트웨어를
  • 계약 협상보다 고객과의 협력을
  • 계획을 따르기보다 변화에 대응하기를

12가지 애자일 소프트웨어 개발 원칙



  1. 가치 있는 소프트웨어를 민첩하고 지속적으로 제공함으로써 고객 만족을 선사합니다.
  2. 개발이 후반부에 접어들어도, 변화하는 요구사항을 환영합니다.
  3. 소프트웨어의 업데이트를 주 단위 간격으로 최대한 자주 제공합니다.
  4. 영업부와 개발자 사이의 긴밀하고 일상적인 협력을 유지합니다.
  5. 프로젝트는 신뢰할 수 있는 열정적인 개인을 중심으로 구축됩니다.
  6. 얼굴을 마주 보고 하는 대화는 최고의 의사소통 형태입니다.
  7. 작동하는 소프트웨어는 진행 상황의 주요 척도입니다.
  8. 지속 가능한 발전을 일정한 속도로 유지합니다.
  9. 기술적 우수성과 좋은 디자인에 대해 지속적인 관심을 유지합니다.
  10. 수행하지 않을 작업을 최대로 걸러내는 작업인 단순화는 필수입니다.
  11. 최고의 아키텍처와 요구사항 그리고 설계는 자기 조직화가 이루어진 팀으로부터 형성됩니다.
  12. 팀은 정기적으로 과거 작업에 대해 어떻게 하면 더 효과적으로 할 수 있었는지 회고하고 그에 따라 변화합니다.



애자일 소프트웨어 개발 방법

1. 적응형 소프트웨어 개발 (ASD| Adaptive software development)

적응형 소프트웨어 개발은 복잡한 소프트웨어와 시스템을 구축하는 방법입니다. 이는 인간의 협력과 자기 조직화에 중점을 둡니다. 적응형 소프트웨어 개발의 라이프 사이클은 다음과 같은 단계를 가지고 있습니다.

① 추측(계획 및 요구 사항 수집)

② 협업(고객 평가 및 수정)

③ 학습(정식 기술 검토, 구현과 테스팅)

2. 동적 시스템 개발 방법 (DSDM|Dynamic systems development method)

동적 시스템 개발 방법은 시스템 구축 및 유지 보수를 위한 프레임워크를 제공하는 애자일 코드 개발 접근 방식입니다.

이는 다음 스텝으로 이동하기 위해서, 각 스텝의 작업 80% 중 단 20%만이 중요하다는 80/20 법칙을 따르는 반복적인 코딩 방법입니다(역주: 풀어서 쓰자면, 중요한 일 위주로 처리한다는 이야기입니다.) 나머지 세부 사항들은 많은 비즈니스 필요성이 기록되거나 수정이 요청되고 받아들여지면 이후에 완료되는 경우가 많습니다.

동적 시스템 개발 방법 라이프 사이클

① 타당성 조사

② 비즈니스 스터디

③ 기능 모델 반복

④ 디자인 및 빌드 반복

⑤ 구현

 3. 익스트림 프로그래밍

'애자일 방법론'을 위한 익스트림 프로그래밍



익스트림 프로그래밍은 애자일 모델의 가장 중요한 소프트웨어 개발 프레임워크 중 하나입니다. 이는 소프트웨어 품질과 고객 요구 사항에 대한 응답성을 개선하는 데 사용됩니다.

익스트림 프로그래밍 모델은 과거에 프로그램 개발 프로젝트에서 잘 작동했던 최고의 사례를 최대한으로 참고할 것을 권장합니다.

익스트림 프로그래밍을 할 때에는 좋은 선례들을 연습해야 합니다. 익스트림 프로그래밍 모델에서 인식되고 사용성을 극대화 한 좋은 몇 가지 사례들은 다음과 같습니다.

① 코드 리뷰

② 테스트

③ 점진적 개발

④ 단순화

⑤ 디자인

⑥ 통합 테스트

익스트림 프로그래밍 모델을 사용하면서 소프트웨어 개발을 할 때 따라야 하는 몇 가지 기본 활동은 다음과 같습니다.

① 코딩

② 테스트

③ 단순화

④ 의사소통

⑤ 설계

⑥ 피드백

 4. 스크럼(소프트웨어 개발)

애자일 방법론 중 스크럼 소프트웨어 개발



스크럼은 애자일 프레임워크의 한 종류입니다. 이는 제품 제공에 있어 생산성과 창의성이 가장 높은 가치를 지니고 있는 지금, 사람들이 복잡한 적응 문제를 해결할 수 있도록 도와주는 프레임워크입니다. 스크럼은 반복 절차를 사용합니다.

스크럼의 차별점은 다음과 같습니다.

① 스크럼은 가장 가벼운 프레임워크입니다.

② 스크럼은 자기 조직화를 강조합니다.

③ 스크럼은 이해하기 쉽습니다.

④ 스크럼은 팀의 협업을 도와주는 프레임워크입니다.

스크럼의 라이프 사이클

① 스프린트(타임 박스)

② 릴리즈

③ 스프린트 리뷰

④ 스프린트 회고(개발 현황)

⑤ 제품 백 로그(제품의 기능 나열)

⑥ 스프린트 백 로그

 5. 칸반(소프트웨어 개발)

애자일 방법론 중 칸반 형태
칸반보드 예시 – Trello 화면(출처: Trello 공식 홈페이지 템플릿)



칸반은 애자일 구현과 데브옵스 소프트웨어 개발에 사용되는 인기 있는 프레임워크입니다. 이는 실시간 의사소통을 필요로 하며, 일의 완벽한 투명성이 보장되어야 합니다. 칸반 보드는 가치 흐름 전반에 걸친 작업 흐름을 묘사하는 데 사용됩니다.

칸반 보드의 장점

① 프로젝트에 관련된 사람이 쉽게 접근할 수 있습니다.

② 필요할 때 의사소통을 촉진합니다.

③ 작업 진행 상황이 시각적으로 표시됩니다.

④ 병목 현상이 발생하면 즉시 확인 가능합니다.

작업과 스토리는 칸반 카드로 표시됩니다. 각 작업의 현재 상태는 보드의 개별 열에 카드를 표시하여 알 수 있습니다. 열은 To Do(할 일), Doing(진행 중인 일), Done(완료된 일)로 레이블이 지정됩니다. 각 작업은 To Do에서 Doing, Done의 순서로 이동합니다.



국내 1위 IT아웃소싱 플랫폼 위시켓에 프로젝트를 등록해 보세요.

6만여 건의 데이터를 바탕으로 프로젝트 견적을 상담해 드립니다.

앱 개발 비용 궁금하세요?
위시켓이 바로 알려드릴게요!

애자일 방법론애자일 방법론 분석애자일 방법론 비교애자일 방법론 종류애자일 방법론 팁
다음 글

위시켓 블로그의 새로운 소식 받기