정보관리기술/소프트웨어공학

Agile 방법론

아이티신비 2024. 1. 7. 08:30

문제5) A 기업은 다수의 기존 정보시스템을 운영 및 유지보수를 하고 있으며, 신규 시스템에 대한 개발을 기획 중 에 있다. 개발 방법론으로 구조적 방법론을 주로 활용하여 왔지만 Agile 방법론의 도입을 검토하고 있다. 다음의 사항에 대하여 설명하시오.

 

가. 구조적 방법론과 Agile 방법론 비교

나. Agile 방법론의 스크럼(Scrum)과 칸반(Kanban) 설명

다. Agile 방법론의 효율적인 수행 방안 제시

 

답)

 

 

1. 구조적 방법론과 Agile 방법론 비교

구분
구조적 방법론
Agile 방법론
정의(개념)
  • 절차 중심의 구조중심 분석/설계 그리고 문서화 모듈화 중심의 소프트웨어 개발 방법론
  • 상호협력 및 내/외부 변화에 대한 민첩한 대응을 추구하는, 반복점진적 개발을 위한 소프트웨어 개발 방법론
개념도
특징
  • 요구사항 분석 및 요구사항 추출 기법 활용
  • 데이터흐름 중심, 모듈의 응집도와 결합도 고려
  • 초기테스트, 의사소통, 상호작용 중시
  • 고객과 개발팀의 소통중심 분석&설계
  • Bottom-Up 방식의 SW구체화
프로세스
  • 요구사항 분석
  • 구조적 분석
  • 구조적 설계
  • 구조적 프로그래밍
  • Plan
  • Design
  • Development
  • Test & Feedback & Iteration

 

2. Agile 방법론의 스크럼(Scrum)과 칸반(Kanban) 설명

가. Agile 방법론의 스크럼(Scrum) 설명

 

구분
설명
정의(개념)
  • Product Backlog 를 Sprint Backlog 로 분할하여 주기적으로 Release 를 수행하는 Agile 기반의 개발방법론
개념도
원리
  • Sprint 를 통한 반복적 개발
단위
  • Sprint backlog 를 통한 Time boxing
관리
  • Burn down chart 와 velocity 측정

 

나. Agile 방법론의 스크럼(Scrum) 설명

구분
설명
정의(개념)
  • 칸반보드를 통해 개발 공정을 시각화 하고 WIP 제한을 이용하여 workflow 상의 공정을 관리 및 최적화하는 Lean 기반의 개발방법론
개념도
원리
  • Workflow 를 통한 연속적 개발
단위
  • WIP 제한을 통한 작업량 조절
관리
  • Workflow 가시화와 WIP 제한

 

3. Agile 방법론의 효율적인 수행 방안 제시

가. 프로세스 관점에서의 Agile 방법론의 효율적인 수행 방안 제시

 

구분
핵심 기술
사전준비
  • 프로세스 정립 위한 애자일 가이드라인 배포
요구정의
  • Product backlog / Sprint backlog 작성 및 문서화
  • 요구사항의 Story 화
분석/설계
  • 의사소통 채널 정리
  • 분석/설계 반복 수행
개발/검증
  • 작업과 개발자의 분배문제 극복하기 위한 팀워크 활동
  • 개발 반복 수행
  • TDD 적용
배포
  • 정기 배포 자동화
회고
  • 기술 부체 정리 및 다음 스프린트 이관
  • 일반 프로젝트의 경우 고객의 요구사항이 초기화 결정됨

 

나. 개발과 조직 관점에서의 Agile 방법론의 효율적인 수행 방안 제시

구분
핵심 기술
준비
  • 작업 요구 능력 및 팀원 능력 수집
측정
  • 팀원 능력 측정
우선순위
  • 작업 난이도와 순위 결정
배치
  • 작업에 개발인력 적절 배치
검증
  • 인력 배치 적절성 검증
문서화
  • 프로젝트 문서화
  • 전통적 방법론과 애자일을 혼합한 하이브리드 방식의 개발 방법론 도입 사례 증가