대부분의 회사에서 개발에 관련된 사항을 프로젝트화 해서 진행하고 있습니다.

“프로젝트”란 주어진 요구사항을 주어진 자원을 이용하여 주어진 기간동안 수행하는 것을 말합니다.

일상적인 업무와 프로젝트의 차이점이 바로 주어진 기간 동안 한시적으로 운영된다는 것이죠.

 

사실 조그만 조직에서는 프로젝트화 하는 것이 필요 없을 지도 모릅니다.

개발에 참여하는 인원이 소규모이고, 따라서 하는 일이 빤히 보이는 상황이기 때문에 프로젝트화한다는 것이 별로 의미가 없어 보일 수도 있죠.

하지만 항상 이 정도의 규모로만 개발이 진행된다고 볼 수 없기 때문에 프로젝트 기반으로 업무를 수행하고 체계화해 나가는 분위기를 익히고 경험하는 것은 매우 중요하다고 할 수 있습니다.

 

규모나 참여 인원에 따라 프로젝트 관리 방법도 상당히 많이 다르겠지요.

그래도 기본적으로 해야 할 일을 명확히 정의하고, 그 일을 누가, 어떻게, 언제까지 할 것인지를 미리 결정하고 진행하는 것은 기본이라고 볼 수 있습니다.

그리고 중간 중간 진행 상황에 대해 검토하고, 그 결과에 따라 다음 진행 방향에 대해 보완해 나가는 것이 필요하죠.

소프트웨어 공학에서 얘기하는 것처럼 시스템적이고 체계적이고 이론적인 부분이 현실에 적용되기는 상당히 어렵습니다. 다만 근본적인 개념을 이해하고 그 개념을 속해있는 조직의 현실에 맞게 접목하는 것이 가장 중요하다고 볼 수 있습니다.

 

앞으로 당분간은 일을 진행할 때 각자가 사전에 많은 생각을 하도록 유도하고, 기술적인 부분 검토나 아이디어 도출에 좀 더 많은 시간을 할애할 수 있도록 할 계획입니다.

모든 프로젝트가 그렇다고 할 순 없지만, 대부분 사전에 많은 고려를 하게 되면 나중에 완전히 엉뚱한 방향으로 일이 잘못 나아가는 것을 최소한으로 방지할 수 있습니다.

그리고 코딩 들어가기 전에 머리 속으로 체계화시킬수 있는 능력도 좀더 키우는 것이 필요할 것이라고 생각됩니다. 누가 대신해 줄 순 없지만 그렇게 하도록 유도할 순 있겠죠….