애자일 개발이란? - (2) 애자일 기법의 개념과 사용
애자일 개발이란? - (3) 익스트림 프로그래밍과 리팩토링, TDD 등
예전의 소프트웨어 설계 방법에서 발생하는 오버헤드들에 대한 불만족으로 인하여 애자일 기법이 탄생하게 되었다.
1. 애자일 기법
- 설계보다 코드 짜기에 집중
- 상호 간의 접근에 기반한 소프트웨어 개발
- 빠른 전달과 빠른 진화를 통해 바뀌는 요구사항 만족
애자일 기법의 목표는 소프트웨어 프로세스의 오버헤드를 줄이는 것이다. 대표적으로 문서를 작성하는데 걸리는 시간을 대폭 줄임으로써 코드를 짤 시간을 확보하는 것이 있다. 그리고 변화하는 요구사항에 빠르게 발맞춰 대응하기 위한 방법이다.
2. 애자일 선언(Agile manifesto)
이런 게 있으니 한번 읽어보자.
우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을 도와주면서 소프트웨어 개발의 더 나은 방법들을 찾고 있다. 이 작업을 통해 우리는 다음과 같은 가치를 찾아냈다.
프로세스와 도구보다 개인과 상호작용을
이해하기 좋은 문서보다 작동하는 소프트웨어를
계약 협상보다 고객과의 협력을
계획을 따르기보다 변화에 대응하는 것을 가치 있게 여긴다.
이 말은, 왼쪽에 있는 것들도 가치가 있지만, 우리는 오른쪽에 있는 것들에 더 높은 가치를 둔다는 것이다.
3. 애자일 기법의 5가지 기본 원칙들
원칙 | 설명 |
고객 참여 | 고객이 개발 프로세스 전반에 밀접하게 관여해야 한다. 소프트웨어 공학에서 고객은 돈주고 맡기는 사람만이 아닌 소프트웨어를 만들어달라 하는 모든 사람들을 의미한다. 같은 회사내의 기획팀이 될 수도 있다. |
점증적 인도 | 소프트웨어를 점증적으로 개발한다. |
프로세스 보다는 사람 | 규정된 프로세스 보다는 사람이 더 중요하다. 각자의 업무방식을 개발할 수 있도록 해야 한다. |
변화 수용 | 변화될 수있는 시스템 요구사항을 예측하고 이를 수용할 수 있게 시스템을 설계 해야한다. |
단순성 유지 | 소프트웨어 뿐만 아니라 개발 과정도 간단해야한다. |
4. 언제 애자일 기법을 사용해야 할까?
- 작거나 중간 정도 규모의 제품을 판매를 목적으로 개발하는 경우
- 대부분의 제품들은 애자일 기법을 활용해 만들어짐 < 전부다 애자일로 만든다는 의미는 아님. 전체 과정 중 일부만 애자일을 사용할 수도 있음.
- 고객이 개발 프로세스에 참여하겠다는 의사가 있을때 사용 < 고객: 같은 회사안의 기획자 등
- 사회적 규제가 많이 없을 때 사용 < 사회적 규제가 엄격한 시장에서 개발하면 요구사항들을 지키며 개발해야 하므로 어느정도 미리 계획이 필요하기 때문
출처: https://hodev.tistory.com/
반응형
'Dev > Methodology' 카테고리의 다른 글
애자일 개발이란? - (4) 스크럼 스프린트 사이클 (0) | 2022.11.14 |
---|---|
애자일 개발이란? - (3) 익스트림 프로그래밍과 리팩토링, TDD 등 (0) | 2022.11.14 |
애자일 개발이란? - (1) 기본 개념 정리 (0) | 2022.11.14 |