상세 컨텐츠

본문 제목

애자일 방식으로 일하려면 어떻게 해야 할까?

본문

소프트웨어는 자동차가 아니다

제조업체는 수많은 부품들을 다양한 업체로부터 공급받는다. 완제품의 완료 시점을 정하면, 각 부품이 언제까지 공장에 도착해야 하는지 정확한 날짜가 나오고, 납품업체는 무슨 수를 써서라도 약속된 시간에 납품해야 한다. 그렇지 않으면 완제품의 완성 기한에 타격을 주어 기업에 손해를 끼치게 되며, 그 비용을 보상해야 한다.
우리나라에서는 소프트웨어도 제조업의 납품 방식으로 개발하는 경우가 많다. 고객이 주문을 발주하면 데드라인까지 완성하여 납품하는 식이다. 그렇다 보니 제조업에서 납품업체를 관리하는 방식으로 고객과 소프트웨어 업체의 거래가 이루어져왔다.
자동차에 들어가는 부품은 스펙이 정해져 있으며, 모양과 규격이 발주 기업이 원하는 사양과 정확히 맞아야 한다. 기능을 더 추가할 필요도 없고, 함부로 주문서에 나온 스펙을 바꾸어서도 안 된다.
그와는 달리 소프트웨어의 강점은 무한한 변화에 있다. 그래서 워터폴 방식으로 만든 소프트웨어는 애자일 방식으로 무한 발전하는 소프트웨어의 발전속도를 따라올 수 없다. 데드라인을 정하여 완성하고 납품 후에 피드백을 반영하여 개선하는 워터폴 방식의 사이클로는 제대로 된 소프트웨어를 만들어낼 수 없다.
대표적인 제조업인 자동차에 납품하는 소프트웨어도 마찬가지이다.
내비게이션 소프트웨어는 한번 차량에 들어가고 나면 몇 달이 지나서야 업데이트할 수 있으므로, 이 경우 수시로 업데이트되는 구글, 다음, 네이버 앱을 이길 수 없다. 그래서 테슬라는 자동차를 네트워크에 연결해서 수시로 업데이트하는 시스템을 갖추었다.

기한과 비용 정한 발주로는 불가능

애자일 방식은 처음부터 주문을 의뢰하는 고객과, 주문을 받아 소프트웨어를 제작한 개발팀을 염두에 두고 만든 것이다.
전자의 경우 애자일 원칙을 가지고 당연히 SISystem Integration, 시스템 통합, 기업의 정보 시스템을 구축하는 종합 서비스로 대표되는 소프트웨어를 납품할 수 있다. SI는 단순히 소프트웨어 납품을 넘어서서 주문 기업의 소프트웨어 전체를 담당하여 통합 시스템을 개발하는 것인데, 애자일 방식이 더욱 힘을 얻는다.
다만 우리나라에서 애자일 방식으로 소프트웨어를 만들려면 계약제도가 보완되어야 한다. 제조업의 주문제작 방식은 기한과 비용을 정해 발주하면 기한 내에 완성품을 전달받는데, 이런 체제에서는 애자일을 도입하는 것이 전혀 의미가 없다. 계속 변화하는 소프트웨어가 나올 수 없기 때문이다.
애자일 방식에서는 완제품이 아니라 프로토타입을 먼저 만든다. 애자일 속도를 제대로 측정하고 있는 개발팀과 개발기업이라면 프로토타입이 언제쯤 완성될지 쉽게 예측할 수 있다. 완성 후에는 고객과 함께 꾸준하게 소통하여 소프트웨어를 발전시켜나간다. 이러한 방식을 도입하기 위해서는 계약조건이 데드라인과 비용으로 정해져서는 안 된다.
애자일 소프트웨어 개발 계약서에는 고객과의 상호 이해를 위해 다음과 같은 내용이 들어가게 된다.

하청 아닌 파트너 관계가 필요

우리나라의 경우 개발회사는 일을 최소한으로 하면서 금액을 최대한으로 높게 매기고, 고객사는 최소한의 금액으로 소프트웨어를 만들고자 한다는 가정에서 출발하기 때문에, 앞에서 소개한 계약문화가 정착되는 것이 쉽지 않다. 서로 신뢰가 없는 상황에서 고객사는 개발회사를 감시하려 들 것이고, 그런 상황에서는 품질이 좋은 소프트웨어를 여유 있게 만들기 어렵다.
실리콘밸리 개발자들이 자신의 커리어를 걸고 프로덕트를 만드는 것처럼, 애자일 원칙을 지키는 개발사는 소프트웨어 개발회사로서 명성과 커리어를 걸고 일하기 때문에 더 자연스럽게 동기부여가 된다. 고객사가 시키는 일을 일방적으로 하는 개발회사는 커리어라고 할 만한 것을 만들기 힘들지만, 애자일 방법론으로 프로덕트를 함께 발전시켜나가는 개발사는 회사의 역량이 소프트웨어의 품질을 좌우하게 되고, 이는 회사의 커리어가 된다.
여기에서 알 수 있듯, 개발회사와 개발자의 관계가 데드라인 위주의 상하 관계가 된 것은, 고객사와 개발회사가 처음부터 그렇게 계약을 했기 때문이라고 볼 수도 있다.
고객사가 개발회사의 역량을 믿고, 스펙대로 만드는 하청업체가 아니라 함께 최고의 소프트웨어를 만들어가는 파트너로 생각한다면, 데드라인과 금액으로 산정되는 계약은 어리석은 계약으로 보일 것이다. 또 소프트웨어 업체들은 자사의 역량에 따라 제대로 가격을 책정할 수 있을 것이고 고객사의 만족도와 업계의 평판에 따라 회사의 몸값도 달라지게 될 것이다.

이 포스트는 이기적 직원들이 만드는 최고의 회사에서 발췌 재정리한 것입니다.

관련글 더보기