about agile

2023. 2. 20. 21:47기타/info

# about agile 

○ 애자일은 긴민한, 민첩한 의미를 지니는데 의미 그대로 애자일 방법론은 가빠르게 변화하는 현대시대에 효율적으로 적응하기 위해 개발과 함께 즉시 피드백을 받아 민첩하게 대처하는 방법론임

○ 애자일 방법론은 초기에는 s/w 개발 방법론으로 시작하여 현대에는 s/w 뿐만 아니라 hr, 마케팅등 다방면으로 확산하고 있음 

특징으로는 짧은 타임박스단위로 공정이 반복수행되고 프로덕트를 점진적으로 완성시킬 수 있으므로 개발과정에도 제품의 피드백을 받을 수 있기 때문에 유동적임 →  피드백이 많아져서 수행자입장에서 까다로울 수 있지만 비즈니스가치 우선순위에 따라 조정할 수 있음
○ 변화에 능동적으로 대처

 

# waterfall 

폭포수는 애자일방법론이 등장하기 전 전통적인 방식인데 

개발과 테스트가 끝나야 제품피드백을 받을 수 있음 [개발중 피드백x]

 

# waterfall VS agile

○ waterfall

  • 순차적인진행
  • 한번 지나간 단계는 되돌리기 어려움
  • 전체에 대해 완벽하고 치밀한 계획이 수반
  • 문서 산출물, 프로세스 위주 진행
  • 관리와 통제가 중요함

○ agile

  • 점진적으로 반복하며 실행
  • 실험적이며 fast fail o
  • 빠른 시작과 유동적으로 계획 수정이 가능함

 

# agile manifesto

2001년 애자일 방법론을 만들기 전 4가지 선언과 12가지의 원칙을 공표하며 가이드라인을 잡음

  • 4대 선언
    • 공정과도구 < 개인,상호작용
    • 포괄적인문서 < 작동하는s/w
    • 계약,협성 < 고객,협력
    • 계획을따르기 < 변화에대응
  • 12가지 원칙
    • 가치 있는 소프트웨어를 조기에 지속적으로 제공함으로써 고객을 만족시키는 것을 최고 우선순위로 한다.
    • 개발 작업 후반부일지라도 요구사항 변경을 기꺼이 수용한다. 애자일 프로세스는 변화를 활용해 고객의 경쟁력에 도움이 되게 한다.
    • 2주에서 2개월 주기로 작동하는 소프트웨어를 자주 제공하되, 더 짧은 시간 단위를 선호한다.
    • 프로젝트 전반에 걸쳐 비즈니스 담당자들과 개발자들이 매일 함께 작업해야 한다.
    • 동기가 부여된 개인들을 중심으로 프로젝트를 구성한다. 구성원들이 필요로 하는 환경과 지원을 제공하고, 담당 업무를 완수할 것임을 신뢰한다.
    • 개발팀에 그리고 팀 내부에서 가장 효과적, 효율적으로 정보를 전달하는 방법은 대면 대화이다.
    • 작동하는 소프트웨어가 진처의 주된 척도이다.
    • 애자일 프로세스는 지속 가능한 개발을 장려한다. 스폰서와 개발자, 사용자들이 일정한 속도를 계속 유지할 수 있어야 한다.
    • 기술적 탁월성과 좋은 설계에 대한 지속적인 관심으로 기민함을 향상시킨다.
    • 단순성 - 아직 하지 않은 작업량을 최대한 세분화하는 기술 - 은 필수적이다.
    • 최고의 아키텍처, 요구사항 및 설계는 자율구성팀에서 비롯된다.
    • 팀은 정기적으로 더 효과적인 방법을 찾아서 반영한 다음, 그에 따라 업무 활동을 조율하고 조정한다.

# types of agile 

○ Scrum

스크럼은 경험주의와 린 사고의 기반

     프로젝트를 어떻게 관리할지에 초점 ex) 계획, 실행, 팀 조직화, 커뮤니케이션

     역할이 정해져있고 액티비티가 정해져있음

     현재 기업에서 많이 활용됨 

 

스크럼방법론에서 팀은 보통 제품책임자, 스크럼마스터, 개발팀으로 서비스와 기능에 따라 구성됨

제품책임자는 스크럼 팀의 작업 결과 제품의 가치 극대화에 대한 책임이 있으며 제품 백로그 관리에 대한 책임을 짐

스크럼마스터는 스크럼팀의 봉사자 역할로 팀의 제품백로그 이해 전달, 교차기능적 팀을 위한 노력, 이해관계자와 스크럼 팀의 갈등 해결 등 멀티플레이를 하는 중요한 역할임 

개발팀은 말 그대로 기술을 이용해 산출물을 내는 역할임

스크럼팀들은 스스로 목표를 정하고 자율적으로 주도적으로 일할 수 있음

보통 인원은 피자 2판을 먹을 수 있는 규모의 7± 로 구성됨

 

cf) 백로그 → 출시하려는 산출물의 요구사항에 대한 우선순위를 매긴 목록 

 

대략적인 스크럼 프로세스는 먼저 제품책임자가 문제해결을 하기 위해 업무의 우선순위에 따라서 프로덕트를 백로그에 정렬하여 큰 그림을 그림. 그 다음 나머지 스크럼팀원들은 선택한 업무를 스프린트기간 동안[2 - 4주정도] 산출물을 내며 기존 산출물을 수정하고 새로 더함. 이 과정에서 데일리 미팅, 작업수행, 리뷰, 회고의 과정을 반복하며 세부그림을 그리며 스프린트 기간을 카운트함

 

cf) 자세한 내용은 Scrum가이드를 참조 https://scrumguides.org/scrum-guide.html

 

○ XP

  프로그래밍에 포커스

      Pair Programing, 자동화된 빌드, 지속적 통합, Test Driven Development

 

○ Lean / Kanban

린 사고방식은 낭비를 줄이고 본질적인 것에 집중

     칸반은 린에 기반한 작업의 흐름 시각화하고 작업중의 개수를 제한하여 흐름을 최적화

 

# tools

애자일에서 많이 쓰고 있는 툴 중에는 ATLASSIAN사의 Jira와 Confluence가 있고 둘은 호환히 되므로 사용하기 편함 

Jira는 스케줄링에 특화된거 같고 Confluence는 컨텐츠에 특화된 거 같음

Jira에서 스케줄을 통해 일을 관리하고 나온 아웃풋을 Confluence에서 관리하도록 호환함

 

가입사이트 → https://www.atlassian.c om/ko/try 

 

reference check https://yohanstory.tistory.com/232

'기타 > info' 카테고리의 다른 글

about sast & dast & tools  (0) 2023.03.16
about hypervisor  (0) 2023.02.07
about laas paas saas  (0) 2023.01.21
opt-in & opt-out  (0) 2022.05.31
Base64 Encoding  (0) 2022.03.21