본문 바로가기
Software

Agile 개발을 하는 것

by gourri 2014. 9. 3.
반응형

Agile 개념을 도입해 개발을 해본 이후에는 확실히 다른 방식으로 개발하는 것이 싫어졌다. 물론 Agile이라 하면 조금 아는 사람들이 Scrum이나 Kanban, TDD 등 여러 방법론을 얘기하고 그것을 어떻게 하는지 많이 얘기한다.

애자일 소프트웨어 개발 (wiki)


만약에 그것만이 전부라면 내 생각에 그 사람들은 Agile을 모르는 것이다.


내가 생각하는 Agile은 "왜 하는지?"를 잊는 순간 그냥 다른 개발방법론과 별반 다르지 않다.


Agile manifesto에서도 보듯이 Agile의 가치는 collaborative, interactive, 그리고 retrospective에 있다고 생각한다.

방법이야 어떻든 팀과 항상 상호존중 및 협력하고 고객과의 인터페이스를 건강하게 유지하면서 항상 발전하기 위해 노력한다면 그게 Agile이다.


기업들이 생각하는 것처럼 어떻게 하면 시스템에 맞추어서 잘 개발할까만을 고민한다면 이미 Agile은 아니라고 할 수 있다. 껍데기만 남은 Agile이라는 것이다.


Agile은 공장과 같은 정해진 시스템에 교육을 해서 양성된 사람들을 일하게 만드는 그런 개념이 아니다. 그런데 많은 곳에서 결국에는 Agile 가면을 쓴 공장시스템을 운영하고 있다.

품질이 어떠니, 일정이 어떠니.. 이런 것만으로 평가하고 점수를 매긴다. 이전과 다른 것은 무엇인가? 이런 시스템이라면 오히려 Agile은 발목을 잡는다. Agile은 상반된 개념이기 때문이다.


Kanban은 "기민하다"는 Agile의 단어상 의미를 가지고 있지만 내 의견으로는 Agile이라고 부르기 어렵다. 그냥 공장 그 자체이기 때문이다. 우리가 Scrum에서 중요한 것은 Retrospective이며 Scrum team이 합의한 planning이다. Pair Programming이 Agile인 것은 서로 신뢰, 존중하며 발전할 수 있기 때문이다.


반응형

'Software' 카테고리의 다른 글

git, gerrit  (4) 2014.07.21
Agile Scrum Development in real  (0) 2014.07.17
IBM Rhapsody  (0) 2014.05.19
Static code review  (0) 2014.05.13
Agile Competence  (0) 2014.05.12