테크레시피

SW개발 프로젝트…계획 수립에서 중요한 것

소프트웨어 개발에서 계획과 디자인, 구현, 테스트라는 과정을 짧은 사이클로 반복하는 애자일(Agile)이라는 기술이 채택될 수 있다. 일을 빨리 처리해 팀 성장도 도모할 수 있는 민첩한 개발을 주축으로 하는 건 프로젝트 계획 수립에 중요할 수 있다. 소프트웨어 업체인 멘로이노베이션즈(Menlo Innovations) 리사마리 바빅(Lisamarie Babik)이 자사에서 실제로 채택한 예를 소개해 눈길을 끈다.

기업체가 프로젝트에 실패했을 경우 형식적인 계획 작성 방법을 채택해 프로젝트 개선을 도모하는 일이 자주 있다. 하지만 이런 계획이 만들어진 처음부터 전혀 바뀌지 않는 것이나 계획 작성에 참여한 사람이 적거나 하면 가치가 낮아질 수 있다. 계획 가치는 계획이 적힌 종이가 아닌 계획을 만든다는 행위 자치에 있다고 지적한다.

이런 과정에서 계획은 계획, 실행, 관리 3단계가 1일에서 2주 주기로 반복된다. 먼저 계획 단계에선 일정과 예산 견적을 세우고 실행 단계로 구체적인 작업을 실행하며 관리 단계에서 수행한 작업을 검토한다. 이 사이클에서 중요한 건 계획보다는 오히려 실행과 관리 단계다.

실행 단계에서 어떤 일을 해낸 팀은 반드시 스토리 버전을 손으로 만들고 여기에 무슨 일을 했는지, 업무 내용을 어떻게 평가하는지, 다음 어떤 일을 하는지 등 내용을 기입한다. 이런 스토리 카드는 뒤에 관리 과정에서 작업 진행을 전체에게 전달하기 때문에 중요하다. 언제든 새로운 스토리 카드를 작성하는 게 좋다.

또 스토리 카드에 쓰는 내용은 구체적인 것이어야 하며 모두가 알기 쉽게 해야 한다. 예를 들어 엔지니어가 시작 SQL 호출 수를 줄이라고 써도 다른 사람이 의미를 이해하지 못하거나 해석 차이가 생겨버릴 가능성이 있다. 따라서 SQL 호출 수를 줄여 응용 프로그램 시작 시간을 7초 이상 줄인다. 시작 시간을 2초로 단축할 것으로 기대하고 있다는 식으로 명시해 기술적인 전문 지식 없이 모두 이해할 수 있도록 해야 한다.

이런 스토리 카드가 충분히 모이면 팀 구성원이 모여 스토리 카드 내용을 소리내서 읽고 스토리 카드에 적힌 다음 작업에 필요한 시간을 할당하는 관리를 한다. 관리 단계에선 이들 모두 쇼앤텔(Show & Tell)이라는 작업을 수행한다. 이는 주기 동안 완료한 작업을 보여주는 것으로 비전 공유와 토론 발생을 노리는 게 다음 계획 강화에도 도움이 된다.

이 사이클을 반복해 계획이 필요에 따라 개정된 정보와 경험을 공유해 팀이나 프로젝트 전체 향상을 도모할 수 있다. 대부분 프로젝트 과제는 계획이 한 번 밖에 세워지지 않으며 팀이 진행을 빨리 공유하고 확인하고 작업을 계속 수행해야 프로젝트를 성공시킬 수 있다. 관련 내용은 이곳에서 확인할 수 있다.

추천기사