티스토리 뷰

Development

애자일 방법론

Gobans 2022. 3. 19. 14:55

개요

소프트웨어 개발 방법론은 소프트웨어를 생산하는 데에 필요한 프로그래밍 개발 과정들을 정리하고 표준화하여 프로그래머들이 프로그래밍 개발과정에서 각개인이 개발과정에서의 일관성을 유지하고 프로그래머들간의 효과적인 협업이 이루어질수 있도록 돕기 위한 방법론이다.

 

애자일 방법론

 ‘Agile = 기민한, 날렵한’ 이란 뜻으로 좋은 것을 빠르게 취하고, 낭비 없게 만드는 다양한 방법론을 통칭해 일컫는 말이다. 앞을 예측하며 개발하지 않고, 일정한 주기를 가지고 계속 검토해 나가며 필요할 때마다 요구사항을 더하고 수정하여 커다랗게 살을 붙이면서 개발해 프로세스 모델 방식

 

 폭포수 방법론과 대조되는 소프트웨어 개발 방법론입니다. 폭포수 방법론은 계획 → 분석 → 설계 → 개발 → 시험 → 운영/유지보수 순으로 진행되는 반면, 애자일 방법론은 계획 → 설계(디자인) → 개발(발전) → 테스트 → 검토(피드백) 순으로 반복적으로 진행됩니다. 또한 애자일 방법론의 반복 주기는 1~4주 정도로 짧습니다. 그리고 이 주기를 이터레이션이라고 부릅니다.

 

 

https://mk.co.kr/news/economy/view/2018/11/718895

 

  • 계획 및 분석 : 고객과 사용자가 원하는 바를 파악하여 타당성을 조사하고 SW 기능과 제약조건을 정의하는 명세서 작성, 대상이 되는 문제 영역과 사용자가 원하는 task를 이해하는 단계
  • 설계(디자인) : 기획의도에 맞는 설계 및 디자인 추가 및 수정하는 단계
  • 개발(발전) : 설계단계에서 만들어진 설계서를 바탕으로 프로그램을 작성, 코딩, 디버깅, 단위/통합테스트 수행
  • 테스트 : 발생 가능한 실행 프로그램 오류를 발견, 수정하는 단계
  • 검토(피드백) : 기획의도를 파악하고 시험결과와 기획의 따라 수정할 부분을 제시하는 단계

스크럼(Scrum)

 프로젝트 관리를 위한 상호, 점진적 개발방법론이며, 애자일 소프트웨어 개발 중의 하나

 스크럼은 현재 널리 사용되는 애자일 기법중 하나입니다. 스크럼에서는 이터레이션을 스프린트 라고 칭합니다. 스프린트 에서는 제품 책임자가 관리하는 백로그에서 스프린트 백로그를 스스로 결정하고 완수하여 결과물을 산출해냅니다. 팀이 성과를 낼 수 있도록 조력하는 역할을 스크럼 마스터라고합니다.

(*제품 책임자: 제품 백로그(요구사항) 관리/설명, 제품 백로그의 우선순위 관리)

(*스크럼 마스터: 팀을 보호하고 장애 요소를 해결, 일일 스크럼 회의를 진행, 모니터링 및 Tracking)

 

https://m.blog.naver.com/ljh0326s/220968715652

 

백로그

백로그는 조직이 원하는 결과를 얻기 위해 해야 할 필요가 있는 활동들을 목록으로 만든 것

https://congruentagile.com/2019/10/28/agile-practices/

 

  • 좋은 아이디어가 있다면 누구나 언제든지 쉽게 백로그에 새로운 항목을 추가할 수 있다.
  • 모든 백로그 항목에는 실행 우선순위가 있어야 한다. 그러나 그 우선순위는 항목마다 전부 다르다. 즉, 백로그 상에는 우선순위가 같은 항목이 단 하나도 존재하지 않는다.
  • 백로그에 항목이 추가됐다고 해서 그 항목이 꼭 진행될 것이라는 뜻은 아니다. 모든 백로그 항목은 일종의 옵션이다. 어떤 옵션을 선택할지 말지는 팀이 상황에 따라 결정하는 것이다.
  • 백로그 관리를 책임지는 담당자를 별도로 둘 수도 있다. 스크럼에서는 이 역할을 제품 책임자(PO, Product Owner)라고 부른다. 모든 사람이 백로그에 새로운 항목을 추가할 수는 있지만, 거기에 우선순위를 부여하고 바꿀 수 있는 것은 오로지 PO뿐이다. PO는 정기적으로 백로그 항목에 부여돼 있는 우선순위를 조정하고, 목적 달성에 도움이 안된다고 판단하는 항목은 과감히 제거한다.
  • 백로그 항목의 크기와 상세함의 정도는 그 우선순위에 따라 다르다. 작업이 임박한 우선순위가 높은 항목은 대개 그 크기도 작고 구체적인 내용을 담고 있으며, 우선순위가 낮아 언제 실행할지 불투명한 항목들은 크기도 크고 상세한 정보도 거의 없다. 이런 방식을 롤링웨이브 플래닝(rolling-wave planning)이라고 부른다.

애자일 실천

 스크럼 프로세스를 따릅니다. 백로그 ->  태스크 | 스프린트 주기에서 회고, 일일회의, 작업 현황을 진행합니다.

 

회고

회고는 팀이 정기적으로 만나 이터레이션 기간 동안 무슨 일이 있었는지, 그리고 자신들이 일하는 방식은 어떠한지 돌아보고 무엇을 개선하면 좋을지 논의하는 자리

 애자일의 매커니즘에서 가장 중요한 '피드백'이 작동하는 자리입니다. 회고는 논쟁을 하거나 불평을 하는 자리가 아니라 사실과 감정에 대한 솔직한 대화와 건설적인 액션 아이템을 만들어내는 자리가 돼야합니다.

 

일일회의

모든 팀원이 매일 같은 시간, 같은 장소에서 협업에 필요한 최신 정보들을 공유하기 위해 모인다. 각 팀원은 자신이 어떤 일을 끝마쳤는지, 어떤 일을 진행할 예정인지, 그리고 업무에 지장을 줄 수 있는 요소가 무엇인지, 이 세 가지를 간략하게 이야기하는 형태가 가장 일반적이다. 

 일일회의는 15분 시간제한을 정해놓고 진행합니다. 새로운 이슈가 있다면 그 부분은 따로 시간을 정해 회의하여 논의합니다. 팀이 회의의 가치를 인식해야 지속될 수 있습니다. 

 

작업현황

가장 기본적인 형태의 작업현황판은 화이트보드나 벽에 선을 그러 세 칸으로 나눈 다음, 각각의 열에 ‘할 일(To-Do)’, ‘진행중(Doing)’, ‘완료(Done)’라는 이름을 붙이고, 백로그의 각 항목들을 포스트잇이나 인덱스 카드로 작성해 현재 상태에 맞게 배치하는 것이다.  대개는 일일 회의를 이 작업현황판 앞에서 진행하며 최신 정보로 업데이트하는 경우가 많다. 작업현황판은 각 이터레이션을 시작할 때마다 리셋하는 경우가 많다.

 작업현황판은 팀 전체에 효율적으로 정보를 확산시키는 ‘정보방열기(information radiator)’ 역할을 합니다. 시각적인 정보 전달을 통해 현재 상황에 대한 인식을 높여주고 개선 활동을 훨씬 쉽게 만들어줄 수 있습니다.

 

 

 

Jira or notion?

 jira는 scrum을 실천할 수 있는 툴입니다. 애자일 기법 실천을 위해 만들어진 툴이기 때문에  기능도 많고 전문적입니다. 기능들을 제대로 사용하기 위해서는 스크럼의 이해와 적응기간이 필요하다는 생각이 듭니다.

https://medium.com/dtevangelist/devops-jira를-활용한-협업-1부-63c71489f21d 

 

 반면에 notion은 가볍고 필요에 따라 커스터마이징을 자유롭게 할 수 있습니다. 사용하기에도 더 직관적입니다. 노션을 좀 경험해보았다면 쉽게 애자일 기법을 사용하기 위한 페이지로 커스텀 할 수 있을 것 같습니다.


Reference

http://www.incodom.kr/애자일_방법론 애자일 방법론

https://medium.com/dtevangelist/scrum-dfc6523a3604 애자일 스크럼 이해하기

https://congruentagile.com/2019/10/28/agile-practices/ 당장 실천할 수 있는 애자일 실천법

'Development' 카테고리의 다른 글

프로그래밍 패러다임  (0) 2022.03.12
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
글 보관함