- toc {:toc}
Agile이란?
(위 : Agile, 아래 : Waterfall)
Agile은 소프트웨어 개발에 대해 앞으로의 과정을 전부 예측하며 개발하지 않고, 프로토타입을 제작하고 관계자와 소통을 통해 수정해나가며 개발해나가는 방법론이다. Agile 방법론 이전에는 Waterfall 모델이 사용되었다.
Waterfall 모델의 경우 요구사항 분석, 디자인, 구현, 유지보수까지 전체적인 과정에 대한 계획(Document)을 설립하고 순차적으로 실행하는 방법론이다.
- Waterfall 모델의 장점
- 코딩을 시작하기전 전체적인 구조를 설계해 분할 가능하다.
- 문제에 대해 예측해놓기 때문에 나중에 발견했을 때보다 더 쉽게 해결가능하다.
- 소통의 문제나 실수의 발생이 적다.
그렇다면 단점은 어떤 것이 있을까?
- 의뢰자와 개발자의 입장에서 Waterfall 모델을 생각해보자.
- 소프트웨어 개발에 있어서 의뢰자와 개발자가 존재한다.
- 의뢰자가 요구하는 사항에 대해 개발자는 여러 세부적인 구현 규칙을 설정해 소프트웨어를 디자인하고 구현한다.
- 의뢰자의 요구사항을 분석하고, 소프트웨어를 디자인하고, 구현 및 테스트를 한 결과가 의뢰자의 요구 및 목적과 들어맞는다. (가장 최적의 상태이다.)
- 하지만 만약 의뢰자의 요구사항이 변경되거나, 소통의 문제로 인해 요구사항과 디자인이 다른 경우가 발생한다면? → 다시 요구사항을 분석하고 변경해야 한다.
Waterfall 모델의 경우 다시 되돌아가면 분석하고, 계획했던 내용을 전부 뒤바꿔야 하는 상황이 발생한다. 개발자에게는 제작기한이 주어질 것이고, 다시 되돌아가서 진행하기에는 기한적 여유가 없는 상황이 발생한다.
이런 상황을 해결하기 위해 Agile 방법론이 도입되었다. Agile은 계획(Document)를 통한 계획 방법이 아니라 실질적인 코딩을 통한 방법이라는 점에서 Waterfall 모델과 차이가 있다.
Agile의 특성
- 프로토타입을 신속하게 제공해 의뢰자와 소통한다.
- Documentation를 경량화하고 작동하는 소프트웨어에 중점을 둔다.
- 계획 수립보다 변화와 요구에 대응한다.
Agile Case in Deep Learning
Bepro11 (Football Analysis)
Bepro11은 AI, Computer Vision을 기반으로 축구 동영상과 데이터를 통해서 축구팀의 승리와 선수들의 성장을 돕는 서비스이다. 축구 경기 촬영, 동영상 관리, 영상 데이터 분석, 팀 커뮤니케이션까지 통합 솔루션을 제공하는 올인원(all-in-one) 서비스이다. 유럽 빅5 리그에 진출해 서비스를 제공하고 있다.
(출처 : 비프로11 데모)
발전과정
비프로의 강현욱 대표는 대학 시절 축구를 좋아해 교내 리그 선수로 참가하고 있었다.
싸이월드를 이용해 리그 정보들을 저장하고 리그를 운영하고 있었지만 의미있는 골을 넣어도 단순히 숫자 1로만 기록되는 것에 아쉬움을 느껴 리그에 대한 웹사이트를 제작하자는 생각을 했다. 처음에는 디자인만 들고 운영진 회의에 가서 제안했고, 만장일치로 사용하겠다는 의견이 나와 제작해본 경험이 비프로의 시작이었다.
이 후 현실의 축구 실력이 능력치로 반영되는 것을 꿈꿨고, 이를 위해 데이터화를 생각했다. 당시의 데이터화는 수작업으로 패스, 슛 횟수를 기입하고 정리하는 방식이었고, 효율을 높이기 위해 경기 영상에서 데이터를 뽑아내고, 영상과 데이터를 연결한 기능을 제작했다. 쉽게 말하면 동영상의 행동에 대해 전부 북마크가 달려있어, “4분 45초 7번 → 10번 패스” 를 누르면 동영상 4분 45초에서 확인할 수 있는 기능을 말한다.
북마크 기능은 당시 없었던 새로운 기술이었기 때문에 반응이 좋았고 유소년팀을 거쳐 K리그팀의 입찰을 가져올 수 있었다. 하지만 비프로팀은 여기서 멈추지 않았다. ‘동영상을 왜 보세요?’, ‘동영상을 보시면서 무슨 생각을 하세요?‘라는 질문을 가지고 유저 인터뷰를 하고, 1달 개발 후 인터뷰를 통한 피드백을 받는 과정을 1년 동안 반복했다. 제품을 계속해서 개발한 후 독일로 진출을 시도했다.
처음 독일에 진출해 독일 리그 경기를 촬영하고, 분석 및 결과를 선보이고 피드백을 얻었다. 피드백을 바탕으로 3개월 동안 제품을 개선하고 다시 독일에서 개선한 제품을 선보였고 관계자는 ‘어떻게 이렇게 빠르게 반영했냐’며 놀라워했다고 한다.
이로써 계약이 성사되고 진출을 하며 현재는 13개국의 1350여 개의 팀이 비프로 서비스를 사용하고 있다.
Bepro를 통한 Agile 특성
비프로의 성장과정을 살펴보면 유저 피드백에 대해 얼마나 중요하게 생각했는지를 알 수 있다.
- 대학 리그에 대한 웹사이트를 제작하기 위해 디자인을 가지고 유저에게 제안하고 수용하는 커뮤니케이션
- 유소년팀, K리그팀에 서비스를 제공하면서 유저 인터뷰를 통해 피드백을 얻고 개선된 제품을 선보이는 과정의 반복
- 독일리그에 진출한 후 얻은 피드백을 3개월 만에 전부 개선한 후 선보인 과정
위 3 가지 경우에서 유저 피드백을 통한 고객과의 소통 및 협력, 수립한 피드백을 서비스에 바로 적용함으로써 문서보다는 작동하는 프로그램을 선보이는 Agile의 특성을 확인할 수 있다.