애자일이 과연 무엇일까?

박승우·2024년 5월 6일
0
post-thumbnail

자, 스물 한 번째인 '애자일'를 알아 볼 것이다.

이전 게시물과 같이 소프트웨어 개발 방법론이기 때문에 다양하게 접근하여 알아보았다.

에자일이 뭐에요?

애자일(Agile)은 ‘기민한, 민첩한’이라는 뜻으로 일정한 주기를 가지고 빠르게 제품을 출시하여 고객의 요구사항,
변화된 환경에 맞게 요구를 더 하고 수정해나가는 탄력적인 방법론을 말한다.
소프트웨어 개발 및 프로젝트 관리에 사용되는 접근방식중 하나 이며 다양한 산업이나 조직에서 사용되고 있다.

2001냔, 경험많은 소프트웨어 개발자들은 본인들이 기존의 워터폴(폭포수) 방법론이 아닌 새로운 프로세스로
개발하고 있다는 사실을 인식했고 위 사진처럼 에자일 선언문을 발표한다.

애자일의 소프트웨어 개발 선언

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

공정과 도구보다 개인과 상호작용을
포괄적인 문서보다 작동하는 소프트웨어를
계약 협상보다 고객과의 협력을
계획을 따르기보다 변화에 대응하기를

가치 있게 여긴다.

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

애자일 방법론 프로세스

일반적으로는 오늘날 많은 기업에서는 스크럼(Scrum)과 같은 애자일 프로세스를 주로 활용한다고 한다.
짧은 사이클로 제품을 개발하고 테스트하고 피드백을 받아 보완하는 방식으로 진행한다.

변화에 수동적으로 대처하기보다 변화를 하나의 고정값으로 전제하여 1~4주 작은 스프린트 단위로
디자인 → 개발 → 테스트를 진행한다.

상세과정은 아래과 같다.

  1. 요구사항 수집 및 분석: 프로젝트 팀은 고객이나 이해관계자와 협력하여 요구사항을 수집하고 분석한다. 이를 통해 제품 백로그(Product Backlog)를 작성하고 우선순위를 결정한다.

  2. 스프린트 계획: 제품 백로그에서 우선순위가 높은 항목을 선택하여 해당 항목을 완료할 수 있는 스프린트 목표를 설정한다. 팀은 스프린트 백로그(Sprint Backlog)를 작성하고 작업을 추정한다.

  3. 스프린트 진행: 일정 기간 동안(보통 1~4주) 개발 팀은 스프린트
    목표를 달성하기 위해 노력한다. 일일 스크럼 미팅을 통해 팀원들은 작업 상황을 공유하고 잠재적인 문제점을 해결한다.

  4. 스프린트 검토 및 회고: 스프린트가 끝나면 팀은 완료된 작업물을 검토하고 이를 이해관계자나 고객에게 보여준다. 또한 팀은 스프린트 동안 발생한 문제를 토론하고 개선할 점을 찾는다.

  5. 반복: 이러한 과정을 반복하여 지속적으로 제품을 개발하고 향상시킨다. 각 스프린트를 통해 제품은 점진적으로 완성되어 가며, 고객의 피드백을 반영하여 지속적으로 개선된다.

이처럼 유연하고 반복적인 특성을 가지고 있어서 변화에 빠르게 대응할 수 있으며, 고객의 요구사항을 충족시키는데 효과적이라고 한다.

결론 - 느낀 점

내가 알고있는 지식중 하나인 에자일 방법론에 대해서 다시 알아보았다.

역시 사람은 공부를 하고 살아야한다고 느낀게 시간이 지나면 까먹기 마련이기 때문에
이번에도 까먹었던 것들이 새록새록 기억이 나며 '아!' 했던것들이 많다.

애자일 방법론은 내가 꼭 개발 해보고 싶은 경험이다.
고객의 요구사항을 계속 반영하는 게임을 만들 수 있을까 싶지만 재미있을것 같아서 꼭 해보고 싶다.

profile
게임을 좋아하는 사람 입니다!

0개의 댓글