성공적인 소프트웨어 신상품 개발가이드
개인 또는 팀이 특정기간 동안 진행중인 작업(Work In Progress)이 많아지면 시간지연의 낭비가 발생한다. 특정 작업을 시작후 끝내지 않은 상태에서 다른 작업을 시작하면 다른 작업으로 전환을 위한 시간이 낭비가 될 가능성이 높다. 특히 소프트웨어 개발의 경우 업무 집중도가 높아, 다른 업무로 전환을 위한 시간도 늘어난다.
따라서 진행중 작업이 많을 경우 전체 작업의 완료일이 그만큼 늦어진다. 아래 그림과 같이 작업기간이 일주일인 작업 A, 작업 B, 작업 C가 있다고 가정할 때 그림의 윗부분과 같이 1주 차에 작업A가 끝나면 작업 A를 필요로 하는 다른 작업을 착수할 수 있다. 그러나 그림의 아랫부분과 같이 매주 3개의 작업을 동시에 수행하면 3주가 지나도 작업전환 시간 때문에 작업A는 끝나지 않는다.
이런 명확한 단점이 있음에도 불구하고 현실에서 진행중 작업이 많아지는 이유는 관리자가 멀티작업을 요청하거나, 특정 업무수행시 아이디어가 막히거나 한 가지 업무를 계속할 때 오는 단조로움을 없애고자 하기 때문이다.
진행중 작업으로 인한 대표적인 낭비는 다음과 같다.
• 앞서 살펴본 바와 같이 작업의 가치전달을 지연시켜 상품개발이 늦어진다.
• 결함이 후반부에 발생하여 처리비용이 증가한다.
통합되지 않은 소프트웨어 코드도 ‘진행중 작업’으로 파악 할 수 있다. 상품개발의 관점에서 릴리즈 되지 않고 수행중인 모든 활동은 광의의 진행중 작업이다. 개발주기(또는 릴리즈주기)가 짧고 일괄작업의 크기가 작을수록 진행중 작업의 수는 줄어든다.