Offcanvas

CIO / How To / 개발자

블로그 | 우리의 소프트웨어 프로젝트 계획이 늘 틀어지는 이유

2024.04.24 Nick Hodges  |  InfoWorld
오랜 시간 프로젝트를 계획하고, 전략을 세우고, 주무르고, 접고, 돌릴지라도 실제로 코드를 작성하는 데 어떤 어려움이 있는지 알 수 없다. 
 
Image Credit : Getty Images Bank

그냥 솔직하게 말하겠다. 중요한 소프트웨어 프로젝트를 정확하게 추정하는 것은 불가능하다.

이 문장을 읽고 필자가 미쳤다고 생각하는 분들도 적지 않을 터다.  그럴지도 모른다. 하지만 우리 모두가 알고 있지만 인정하고 싶지 않은 것을 누군가는 말해야 한다.

소프트웨어 프로젝트를 추정하는 방법에 관한 수많은 책이 있고, 수많은 컨퍼런스가 열렸다. 또 수많은 컨설턴트이 오랜 시간 일했고, 끝없이 많은 블로그 게시물이 작성됐다. 이해한다. 우리 모두는 새로운 기능이 언제 준비되는지 알고 싶어 하는 애달른 상사를 달래기 위해 최선을 다해 노력한다.

하지만 결론은 그렇게 할 수 없다는 것이다. 물론 가끔 할 수 있지만, 관점에 따라서는 항상 그렇게 하고 있지만 제대로 할 수는 없다. 다시 말해, 우리는 항상 틀린다.

우리는 계속 돈을 쓰고 세미나에 참석하고 블로그 포스트와 책을 읽는다. 우리는 고액 연봉을 받는 컨설턴트들을 영입하여 그들이 무슨 말을 하는지 아는 것처럼 행동한다. 하지만 상황은 나아지지 않는다. 

우리는 개선할 수 있고 다음 번 유행이 정말 해결책이 될 것이라고 계속 생각한다. 사실 우리는 이미 알고 있는 사실을 스스로 인정하지 않는다: 우리는 소프트웨어 프로젝트에 대해 그다지 확신을 가지고 예측할 수 없다.

우리 모두는 프로젝트가 두세 배 더 오래 걸리는 경험을 해본 적이 있다. 예상 시간의 절반 만에 끝나는 프로젝트에 참여한 적도 있을 것이다. 하지만 예상한 기간 내에 완료되는 프로젝트는 드물고 오히려 이상한 경우다. 그리고 호프스태터의 법칙(항상 예상보다 오래 걸린다, 호프스태터의 법칙을 감안해도 그렇다)을 적용하여 예상치를 두 배로 늘릴 지라도 역시 마감일을 지키지 못한다.

여기에는 여러 가지 이유가 있다. 가장 눈에 띄는 이유이자 대부분의 사람들이 가장 힘들어하는 이유는 모든 소프트웨어 프로젝트가 ‘알 수 없는 미지의 요소’로 가득한 고유한 특성을 가지고 있다는 점이다. 수많은 시간 동안 프로젝트를 계획하고, 전략을 세우고, 덩어리를 만들고, 접고, 돌리고, 잘라낼 수 있지만 실제로 코드를 작성할 때 어떤 어려움이 있을지 알 수 없다. 

어렵다고 생각했던 일 중 일부는 쉬운 것으로 판명될 수도 있다. 그러나 대부분의 경우 프로젝트의 특정 측면이 제기할 어려움을 크게 과소평가하기 십상이다.

물론 이는 소프트웨어 관리자가 목적지까지 날씨가 좋은 평탄하고 곧게 뻗은 고속도로가 될 것이라고 믿기 때문에 발생하는 현상이다. 하지만 결코 그런 일은 발생하지 않는다. 요구 사항이 변경되어 프로젝트가 축소되는 일은 나타나지 않는다. 예상치 못한 PTO가 출현하며, 다른 프로젝트나 우선순위가 방해한다. 영업 부서에서는 중요한 거래를 성사시키기 위해 약간의 조정을 요구한다. 처음부터 끝까지 순풍에 돛단배처럼 순탄한 일은 없다. 절대로 그렇다.

필자가 이런 말을 하면 화를 내는 컴퓨터 공학 학위를 가진 친구가 있다. 그가 간과하는 진짜 문제는 소프트웨어 개발이 공학 분야가 아니라는 점이다. 대신 인간의 욕구 변화, 성격과 역학 관계의 상호작용, 고객의 이해 변화, 비과학적인 해결책이 얽혀 있는 무언가다. 소프트웨어 개발은 과학적인 프로세스가 아니라 창의적인 프로세스이며, 창의적인 노력은 알 수 있는 단계와 반복 가능한 시스템으로 압축할 수 없다.

들어주기 어려운 주장처럼 들린다는 점을 잘 알고 있다.  기업, 즉 고객은 "글쎄요, 언제 그 서비스를 제공할 수 있을지 잘 모르겠습니다"라는 말을 듣고 싶어하지 않는다. 그들은 완전히 헛소리일지라도 자신이 듣고 싶은 말을 해주는 공급업체를 찾을 것이다.  기업은 돈을 벌어야 하고, 그러기 위해서는 조속히 가치를 창출해야 합니다. 새로운 기능의 데모는 실제로 특정 날짜에 해당 컨퍼런스에서 이루어져야 한다.

그렇다면 우리는 이를 어떻게 받아들이고 살아갈지 고민해야 한다. 필자는 업계에서 소프트웨어 견적의 성배를 찾기 위해 수십 년 동안 노력해 왔고 앞으로도 그럴 것이기에 이 말을 하는 중이다. 하지만 우리는 결코 해법을 알아내지 못할 것이며, 앞으로도 그럴 것이다. 그 사실을 깨닫기 전까지는 우리는 고군분투하고 허둥댈 수밖에 없다.

해결책이 없다. 이를 받아들이는 것이 결코 사라지지 않을 문제를 받아들이는 첫 번째 단계다. ciokr@idg.co.kr
 
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.