본문 바로가기
애자일(Agile)개발방법론

[1] 애자일 개발 방법이란? (애자일 Overview, 미신)

by swconsulting 2015. 3. 2.

 저는 애자일 개발 방법에 대해서 기억으로는 2009년경에 처음 들었습니다. 그 당시 회사에서 애자일 전문가를 모셔서 애자일에 대해서 자기 좋은점 및 경험 등에 대해서 설명을 하는 시간 이었습니다. 그 당시 기억에 남는 것은 딱 하나 였습니다. 야근이 없고 근무 시간을 8시간 이내이고 이상적으로는 4~6시간으로 해야 한다. 정말 이상적인 이야기 였습니다.


강연자 : 하루에 4시간 근무를 목표로 일해야 합니다.

나: (속으로...) 정말로 진짜로 그게 가능???

강연자 : 일정 지연이 거의 없습니다.

나 : (속으로...) 당최 이해가 안되네 야근 없이 일정내 완료?!


위 내용 이외에는 기억이 나지 않습니다. 아 한가지 더 있다면 강연자 분일 편한 차림 청바지, 반팔 티셔츠, 남자분이셨는데 예술가처럼 머리가 기시고 묶으셨습니다. (정리하면 개발자 같지 않고 예술가 처럼 보였습니다.)


저 강연 후에 시간이 흘러서 2012년이 되어서야 저는 드디어 애자일 방법론을 적극 도입한 프로젝트를 진행해 보았습니다. 드디어 경험을 해본 것이죠. 개발자 불문율 "백문의 불여 일타"를 한것 입니다.


 오늘 이 글을 쓰고 있는 2015년 약 4년 동안 경험을 해본 후 감히 말씀드릴 수 있습니다. 애자일을 프로젝트에 적용하면 야근없이 8시간 근무 하면서 일정 지연 없이 진행할 수 있습니다. 하지만 이렇게 하기 위해서는 여러가지 기반이 되어 있어야 합니다. 이 부분에서 현실과 이상이 발생합니다.


[애자일 선언(목표)]

1)절차와 도구를넘어선 개성과 화합

2)종합적인 문서화를 넘어선 동작하는 소프트웨어

3)계약과 협상을 넘어선 고객과의 협력 

4)계획 준수를 넘어서 변화에의 대응



 위 4가지 목표에 대해서 제 나름 대로 해석을 한다면 워터폴 개발을 진행하면 개발 진척도에 집중을 합니다. 이렇게 하게되면 제 경험에 의하면 개발자들은 내부 로직이 아닌 화면 개발에만 집중을 합니다. 또한 동작 하는 프로젝트가 아니라 돌아가는 척하는 프로그램을 개발하게 됩니다. 이후 프로젝트 막바지에 다른 개발자가 만든 모듈 및 기능 연계(연관)테스트를 진행하면서 정말 많은 시간을 프로젝트에 투입을 하면서 야근과 월화수목금금금 프로젝트를 진행합니다. (저는 건강이 가장 중요하다고 생각합니다. 절대로 이런 프로젝트는 진행하지 마세요 ) 즉, 일정 내에 맞추는 것 야근을 안하기 위해서 방법에 대한 핵심은 바로 (3) 계약과 협상을 넘어선 고객과 협력)이 제가 생각할 때 애자일 가장 좋고 이렇게하기 위해서는 생각보다 많은 선 작업 및 노력이 필요합니다. 고객에게 2~3주 마다 진행 상황을 보여주고 바로 피드백을 받는다. 이 점이 애자일에서 가장 좋은 점 입니다. 그런데 약3주마다 고객 시연 및 데모라고 생각하면 개발자들에게 큰일입니다. 전체 코드 빌드, 테스트, 웹서버 Deploy, 설치 패키지 개발(Setup.exe) 등 준비 및 개발 할게 너무 많습니다. 이러한 점을 가능하기 위해서 2) 종합적인 문서가 아닌 프로젝트에 필요한 문서를 작성해야 합니다. 개발 계획,백로그 일정, 기본설계서 등입니다. 이러한 문서는 기존에 보여주기 위한 문서가 아닌 프로젝트를 위한 문서이고 이 계획을 기초로 전 개발자가 모여서 개발 플랜닝 계획을 세워야 합니다.


다음 블로그 글에서는 애자일 개발 방법 중에 스크럼을 이용해서 애자일 개발 하는 것에 대해서 제 경험을 중심으로 좀더 구체적으로 정리해 보겠습니다.


 우선 이 글은 제 경험을 중심으로 애자일 방법론 및 좋은 점 중심으로 작성한 글입니다. (저도 사람입니다. 혹시 잘못되었거나 이상한 점있으면 덧글 또는 메일 주십시오)


다음 글 목록


[스크럼 애자일 개발 프로세스]


[애자일로 프로젝트를 진행하기 위한 필수 요소]