막상 개발을 하다보면 자주 듣게되는 단어 'Agile" (애자일) 자주 들었지만 아리송한 내용으로 설명된 여러 글과 이야기들로 실제로 적용하려고 하면 어떻게 해야 하는지 감이 오지 않습니다. 그렇다면 이러한 방법론을 통해서 어떻게 실제로 적용을 할 수 있는지 한번 알아보고자 합니다.
Agile?
먼저 개발자 김철수씨의 이야기를 들어보자.
" 안녕하세요. 개발자 김철수 입니다. 최근에 회사에 입사를 하고 하나의 프로젝트를 맡았는데, 전체적인 그림만 그려지고 세부적인 내용이 전혀 없는 껍데기 제안서만 받았습니다 ㅠㅠ 이러한 경우에는 어떻게 해야하나요?"
위의 사연은 실제로 개발자가 자주 겪게되는 상황일 것입니다. 항상 모든 계획이 다 철저하게 짜여지고 설계도 다 되어 있으면 얼마나 행복할까요. 하지만 현실은 그 반대인 상황입니다. 그렇다면 여기서 개발자들은 어떤 선택을 해야 할까요?
아마도 제일 먼저 하게 될 것은 기술적 검토
와 요구사항 파악
일 것입니다. 기술적 검토는 어떠한 기술을 사용을 해야 요구사항에 맞게 효율적으로 작업을 할 수 있을지 보는 것이고, 요구사항 파악은 어떤 기능을 구현해야 하는지 알아 보는 것이죠. 그럼 여기서 우리는 개발 전략을 짜야되는데요. 거기서 바로 사용되는 것이 Agile 입니다.
애자일 Framework를 서비스 하고 있는 Atlassian 회사에 있는 Agile 설명은 아래와 같습니다.
In an agile work environment, the strong underlying system of guidelines offers teams the agility to optimize their work for improved and more efficient delivery.
애자일 업무 환경에서, 강력한 기본 가이드라인 체계는 팀이 업무를 최적화하여 더 개선되고 효율적인 성과를 발휘할 수 있는 환경을 제공합니다
우리는 여기서 "개발에 애자일을 적용함으로써 좀 더 효율적인 작업을 할 수 있구나" 라는 것을 알 수 있게 되었습니다. 그럼 이제 어떤 방식으로 애자일을 진행하고 있는지 알아 보도록 하겠습니다.
진행과정
애자일을 적용하게 되면은 큰 단위의 프로젝트를 우선 작은 단위로 나누고 지정된 기간 동안 계획-개발-테스트-배포-검토 하는 과정을 수행하게 됩니다. 그 이후, 해당 부분에서 추가적으로 개선해야 할 부분 있다면 다음 스프린트기간에 메인 주제로 정하고 다시 진행을 하면 되는 것이죠. 아래의 사진은 방금 설명한 내용을 사진으로 간략하게 정리 된 것입니다.
아마도 많은 개발자 분들이 여기 까지의 내용을 아주 많이 그리고 자주 접했을 것 같습니다. 하지만 아직 우리에게 남은 의문증 "그래서 어떻게 해야 하는건데" 라는 것이죠. 이론만 배우고 실제로 적용을 하려고 하니 방법을 모르니 이러한 문제들이 발생한다는 것이 재밌는 부분입니다.
그럼 실제로 애자일이라는 것을 적용하기 전에 알아 둬야하는 단어가 무엇이 있는지 보도록 하겠습니다.
Initiative:
이니셔티브는 팀이 바라보고 있는 목표를 말할 수 있습니다. 이러한 이니셔티브는 여러 개의 에픽으로 구성이 되어져 있다는 것이죠.
Epic:
에픽은 고객의 요구사항이나 팀의 목표에 따라 특정한 작업으로 분할할 수 있는 구조를 말합니다. 에픽은 작업을 구성하고 계층 구조를 만드는 데 유용한 방법입니다. 하나의 에픽은 제공 가능한 작업으로 나눠 대규모 프로젝트를 실제로 수행하고 정기적으로 고객에게 가치를 제공할 수 있어야 합니다. 이러한 에픽은 개발자가 작업을 빠르게 수행할 수 있게 하는 좋은 구조를 만들어 준다고 볼 수 있습니다.
Story:
스토리는 최종 사용자의 관점에서 작성한 짧은 요구사항 또는 요청들을 말합니다. 쉽게 말하면 각 각의 기능들이라고 볼 수 있을 듯 합니다. 이러한 여러 스토리가 모여서 하나의 에픽을 형성을 할 수 있다고 보면 되겠습니다.
스크럼과 칸반보드?
스크럼과 칸반보드는 애자일 프레임워크로 이미 수행하는 팀들이 만들어 놓은 원칙 및 관행을 활용하여 손쉽게 애자일을 적용하도록 하고 있는 것이라고 볼 수 있겠습니다.
이렇게 단어를 정리를 하게 되면 자연스럽게 우리가 하고 있던 방식과 많이 비슷하다는 것을 느끼게 될 것입니다. 그렇다면 여기서 애자일이 말하고 싶은 것은 좀 더 체계화를 하고 문서를 작성하면서 효율적으로 일을 하자 라는 것입니다. 이러한 애자일 방법론은 항상 보고 듣기만 한다고 알게 되는 것이 아니라 실제로 적용하고 운영을 해봐야 하는 것이 가장 효율적이고 빠릅니다. 그러므로 이 글을 보시는 많은 개발자 분들은 꼭 한번 적용해보시면서 프로젝트를 진행해 보시기 바랍니다.
Agile Framework 종류
Jira
youTrack
Dooray
'CS 지식 > 방법론' 카테고리의 다른 글
Mockist vs Classicist (1) | 2023.08.22 |
---|---|
DDD(Domain Driven Dsign) (0) | 2023.07.27 |