# 4. 자격증/정보처리기사

소프트웨어 생명주기 / 애자일 모형의 스크럼과 칸반 비교

둥굴둥굴둥굴레차 2021. 7. 16. 22:35

001. 소프트웨어 생명주기

 

소프트웨어 생명주기

Software Life Cycle

소프트웨어 개발을 위해 운용 및 유지보수의 과정을 각 단계별로 나눈 것.

소프트웨어 개발 방법론의 바탕이 되는 것.

개발하려는 것의 유형이나 선호하는 개발 방법에 따라 특정 모형을 선택하여 사용할 수 있다.

 

소프트웨어 생명주기 종류

1. 폭포수 모형

2. 프로토타입 모형

3. 나선형 모형

4. 애자일 모형

 

 

1. 폭포수 모형

Waterfall Model
한 번 떨어진 물은 거슬러 올라갈 수 없듯이 이전 단계로 돌아갈 수 없는
소프트웨어 개발의 전제하에 각 단계를 확실히 매듭짓는 개발 방법론.
  • 고전적 생명 주기 모형이라고도 한다.
  • 두 개 이상의 과정이 병행하여 수행되지 않는다.
  • 한 단계의 개발과정이 끝나야 다음 단계로 넘어갈 수 있는 선형순차적 모형.

 

 

2. 프로토타입 모형

Prototype Model
사용자 요구사항을 정확히 파악하기 위해 시제품을 만들어 최종 결과물을 예측하는 모형.
  • 개발이 완료된 시점에서 오류가 발견되는 폭포수모형의 단점을 보완하기 위해 나옴.

 

 

3. 나선형 모형

Spiral Model
  • 보헴(Boehm)이 제안한 모형.
  • 개발하며 발생가능한 위험을 관리하여 최소화하는 것을 목적으로 한다.
  • 폭포수 모형고 프로토타입의 모형의 장점에 위험 분석 기능을 추가한 모형이다.

 

 

4. 애자일 모형

Agile Model
  • 애자일은 민첩한, 기민한이라는 의미.
  • 고객 요구 사항에 유연히 대처할 수 있도록 일정 주기를 반복하며 개발과정을 진행.
  • 스프린트 또는 이터레이션이라 불리는 짧은 개발 주기를 반복하며, 주기마다의 고객 평가와 요구를 적극 수용한다.

 

애자일 개발 4가지 핵심 가치

  1. 프로세스와 도구 보다는 개인과 상포작용에 더 가치를 둔다.
  2. 방대한 문서 보다는 실행되는 SW에 더 가치를 둔다.
  3. 계약 협상보다는 고객과 현업에 더 가치를 둔다.
  4. 계획을 다르기 보다는 변화에 반응하는 것에 더 가치를 둔다.

 

애자일 모형을 기반으로 하는 소프트웨어 개발 모형

스크럼, 칸반 등

 

스크럼과 칸반은 애자일이라는 방법론을 실현하는 도구의 역할.

각각이 애자일 방법론을 실행하는 방법은 스크럼스프린트 기반으로 칸반Work In Process을 기반으로 한다.

 

 

 


 

[참고]

 

 

어떤 애자일 방법론을 사용해야 할까?

프로젝트 같은 종료 일이 정해져야 하는 업무가 많이 발생하는 경우스크럼,
지속적인 업무를 다루며 프로젝트 개발 및 ops까지 함께 다뤄야 하는 상대적으로 작은 단위의 팀에서는 칸반

 

Hotfix에 대한 스크럼과 칸반의 차이

HotFix란 말 그대로 예측되지 않았던 요청.

 

스크럼 에서는 Hotfix는 해당 스프린트에 “절대” 넣지 않음.
스프린트 진행 중 발생하는 모든 Hotfix는 무조건 다음 스프린트의 백 로그로 쌓이게 되고 다음의 업무가 됨.

(운영 중인 서비스라면 개발자가 돌아가며 운영 업무를 맡기도 함)

 

칸반 에서는 Hotfix 또한 바로 프로젝트 backlog에 쌓음.
해당 프로젝트를 끝내기 위해 처리해야 할 이슈 카드로 동일하게 취급.

 

 

 

🔽 Reference

 

 

애자일(Agile) 그리고 칸반(Kanban) 과 스크럼(Scrum)

애자일 이여야 하는가❓ 애자일은 소프트웨어 엔지니어링 다른 말로 소프트웨어 공학이라 불리는 학문의 일부분으로 소프트웨어(프로젝트)의 개발, 운영, 유지보수 등의 생명 주기 동안 효율적

kood-dev.tistory.com