Dev/Methodology

애자일 개발이란? - (2) 애자일 기법의 개념과 사용

Fehoon- 2022. 11. 14. 09:29

 

 

애자일 개발이란? - (1) 기본 개념 정리

애자일 개발이란? - (2) 애자일 기법의 개념과 사용

애자일 개발이란? - (3) 익스트림 프로그래밍과 리팩토링, TDD 등

애자일 개발이란? - (4) 스크럼 스프린트 사이클

 

예전의 소프트웨어 설계 방법에서 발생하는 오버헤드들에 대한 불만족으로 인하여 애자일 기법이 탄생하게 되었다.

1. 애자일 기법

  • 설계보다 코드 짜기에 집중
  • 상호 간의 접근에 기반한 소프트웨어 개발
  • 빠른 전달과 빠른 진화를 통해 바뀌는 요구사항 만족

애자일 기법의 목표는 소프트웨어 프로세스의 오버헤드를 줄이는 것이다. 대표적으로 문서를 작성하는데 걸리는 시간을 대폭 줄임으로써 코드를 짤 시간을 확보하는 것이 있다. 그리고 변화하는 요구사항에 빠르게 발맞춰 대응하기 위한 방법이다.

 

2. 애자일 선언(Agile manifesto)

이런 게 있으니 한번 읽어보자.

 

우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을 도와주면서 소프트웨어 개발의 더 나은 방법들을 찾고 있다. 이 작업을 통해 우리는 다음과 같은 가치를 찾아냈다.

프로세스와 도구보다 개인과 상호작용을
이해하기 좋은 문서보다 작동하는 소프트웨어를
계약 협상보다 고객과의 협력을
계획을 따르기보다 변화에 대응하는 것을 가치 있게 여긴다.

이 말은, 왼쪽에 있는 것들도 가치가 있지만, 우리는 오른쪽에 있는 것들에 더 높은 가치를 둔다는 것이다.

 

3. 애자일 기법의 5가지 기본 원칙들

원칙 설명
고객 참여 고객이 개발 프로세스 전반에 밀접하게 관여해야 한다. 소프트웨어 공학에서 고객은 돈주고 맡기는 사람만이 아닌 소프트웨어를 만들어달라 하는 모든 사람들을 의미한다. 같은 회사내의 기획팀이 될 수도 있다.
점증적 인도 소프트웨어를 점증적으로 개발한다.
프로세스 보다는 사람 규정된 프로세스 보다는 사람이 더 중요하다. 각자의 업무방식을 개발할 수 있도록 해야 한다.
변화 수용 변화될 수있는 시스템 요구사항을 예측하고 이를 수용할 수 있게 시스템을 설계 해야한다.
단순성 유지 소프트웨어 뿐만 아니라 개발 과정도 간단해야한다.

 

4. 언제 애자일 기법을 사용해야 할까?

  • 작거나 중간 정도 규모의 제품을 판매를 목적으로 개발하는 경우
  • 대부분의 제품들은 애자일 기법을 활용해 만들어짐 < 전부다 애자일로 만든다는 의미는 아님. 전체 과정 중 일부만 애자일을 사용할 수도 있음.
  • 고객이 개발 프로세스에 참여하겠다는 의사가 있을때 사용 < 고객: 같은 회사안의 기획자 등
  • 사회적 규제가 많이 없을 때 사용 < 사회적 규제가 엄격한 시장에서 개발하면 요구사항들을 지키며 개발해야 하므로 어느정도 미리 계획이 필요하기 때문

 

출처: https://hodev.tistory.com/

 

반응형