본문 바로가기
개발, IT

프로젝트의 성공 & 無야근 두 마리 토끼 잡기 1

by Nabi™ 2009. 1. 15.



만약 당신의 상황이 아래와 같다면 이 글을 읽을 필요가 없다.

▶ 우리 팀이 수행한 프로젝트는 늘 일정을 맞춰왔다.
▶ 우리 팀은 야근이나 주말근무 따위는 하지 않는다.
▶ 우리 팀이 참여했던 프로젝트는 늘 성공했다.

장기간 지속되는 야근은 결국 프로젝트의 품질에 영향을 미치게 마련이다. 집중력저하로 인하여 버그의 수정이 버그를 낳게 되고, 어느 순간 프로젝트는 우리의 통제를 벗어나게 된다. 그리곤 끝없는 일정지연의 연속에 빠지게 된다.

필자는 무리 없이 늘 프로젝트를 성공시키는 몇몇 팀을 알고 있다. 이 팀들은 경력 15~20년 차 이상으로 수 많은 역경을 거치며 단련된 노련한 개발자를 중심으로 구성된 소규모 개발팀들 이다. 이들 팀은 수년 간 함께 일해오고 있으며, 밝고 긍정적인 분위기를 띄고, 합리적으로 보이는 선택을 한다. 이들은 애자일과 같은 새로운 개발방법론을 쓰는 것도 아니고, 특별한 최신 기술이나 최신 도구를 사용하지도 않는다. 이들이 특별한 마법을 부리는 것도 아닌데 프로젝트가 계획대로 성공하는 것은 아마도 오랫동안 쌓인 연륜이 있기 때문일 것이다.

지난 10여 년 동안 우리나라에서 수행되었었던 많은 IT프로젝트에서 개발자들은 끝없는 야근과 주말근무로 인해서 치를 떨며 하나 둘 타 분야로 떠나갔다. 그나마 제대로 대우를 받는 대기업을 제외한 나머지 중소 벤처기업들에서는 그 정도가 더욱 심했을 것이다. 이런 사태가 일어난 근본적인 원인은 연륜이 쌓인 사람-PM, 기획자, 개발자의 수가 턱없이 부족했던 것에서 그 원인을 찾을 수 있을 것 같다. 5년 전에 필자의 주변에는 경력 3~5년 정도 되는 사람들이 주를 이루었었다. IT산업이 폭발적으로 성장한 것이 몇 년 되지 않기 때문에 그럴 수 밖에 없었다. 프로젝트를 구성하는 사람들 대다수가 경험이 부족한 상태였던 것이다. 그러나, 지금은 경력 10년 차 넘는 사람들이 주변에 수두룩 하다. 5년 전에 있던 사람들이 아직도 이 업계에 남아 있다 보니 자연스럽게 연륜이 쌓인 사람들이 늘어나게 된 것이다. 경력 5년 차와 10년 차 그리고 20년 차 들간의 차이는 엄청나다. 소위 넘사벽(넘을 수 없는 둘 사이의 벽)이 존재하는 것이다. 필자는 20년 차가 넘으신 분들 몇 분을 알 고 있다. 이 분들은 가지고 있는 기술력뿐만 아니라 연륜에서 뿜어져 나오는 커뮤니케이션 스킬과 통찰력 등은 프로젝트에 참여한 다른 사람들을 압도하곤 한다.

경험상 한 10년 정도 되니까 뭔가 통찰력이란 것이 생기기 시작하는 것 같다. 당신의 팀이 지금 힘들고 어려운 상태라면 프로젝트에 참여한 사람들의 연륜이 부족한 것이 한 원인일 수도 있다. 주변을 살펴보면 프로젝트 구성원들의 평균연령이 35세, 평균 연차가 10년 차 정도 되면 프로젝트가 물 흐르듯이 까지는 아니어도 산으로 가지 않고 성공하는 것 같다.

만약 당신의 팀이 연륜이 부족해서-혹은 다른 알 수 없는 이유로 야근과 주말근무를 밥 먹듯이 하여 삶이 피폐해지고 정신이 황폐해 지고 있다면 아래 내용이 도움이 될 것이다. 3회에 나누어 프로젝트의 성공을 위한 방법에 대해 논해보고자 한다. 실패는 성공의 어머니라고 했다. 이번 회에서는 실패 요인을 분석하여 프로젝트를 성공적으로 이끄는 방법에 대해서 알아본다.

프로젝트가 실패하는 이유

프로젝트가 실패하는 이유를 과거 많은 기관에서 연구되었었다. 2004년도에 발표된 한 보고서에 따르면, 프로젝트의 실패 이유는 다음과 같은 데서 찾을 수 있었다고 한다.


표 1 프로젝트 실패 이유 분석  - The Standish Group International 2004, Code Complete
위 표에서와 같이 여러 연구결과에서 요구사항 분석에서의 결함이 프로젝트의 실패를 이끈다고 언급하고 있다. 아래는 필자가 참여했던 프로젝트의 종료보고서의 일부이다. 이 프로젝트에서는 결함의 약 40%는 요구사항 관련된 것이고, 50%정도는 코딩에서 발생한 오류이다.


표 2 모 프로젝트의 종료보고서 중 일부 - 결함 원인 분석

아마도 실패하는 대부분의 프로젝트가 위와 같은 형태를 띨 것이다. 일정 부족을 이유로 띄엄띄엄 기획하고, 띄엄띄엄 분석되어서 개발자에게 전달되면서 문제가 발생하기 시작한다. 그것을 전달받은 개발자가 막 초심자를 벗어나서 의욕에 넘치는 사람이라면-과거 필자가 그랬던 것처럼 적당히 살펴보고 적당히 일정을 짜서 개발에 돌입함으로써 사태의 악화를 증폭시킬 것이다. 이 결과는 끝없는 야근, 고치면 고칠수록 나타나 알 수 없는 오류 들, 그리고 지속적인 일정 지연이다. 이쯤 되면 일정 부족을 이유로 대충 넘겼던 분석과정을 시간을 들여서 제대로 할 것을... 하고 후회하기 마련이다.

이상 실패하는 요인들을 알아보았다. 다음 시간에는 좋은 성과물을 내기 위한 기초가 되는 요구사항 문서 작성에 대해서 알아보기로 하자

- 출처 : 안철수연구소 -

좋은정보가 되셨다면 아래 한번 클릭해주세요^^


댓글