
프로젝트 인도 측정과 작업 진척의 시각화에 대해서 알아보겠습니다. 프로젝트 인도 측정은 프로젝트를 통해서 만든 결과물인 인도물에 대한 성과를 측정하는 것을 의미합니다. 프로젝트를 진행하여 만들어 내는 시스템 구축 내용 등을 프로젝트 인도물이라고 합니다.
프로젝트를 통해 가치를 창출하고 만들어 내는 결과물을 잘 인도할 수 있어야 프로젝트가 잘 진행되었고 프로젝트가 성공했다고 볼 수 있습니다. 프로젝트 인도는 매우 중요하기 때문에 인도에 대한 측정과 평가 또한 매우 중요합니다. 프로젝트 인도에 대한 측정 방법은 다양합니다. 이어서 프로젝트 인도 측정과 작업 진척의 시각화 방법에 대해서 좀 더 자세히 알아보도록 하겠습니다.
프로젝트 인도 측정과 칸반 보드
프로젝트 인도 측정과 관련된 대표적인 시각화 방법은 칸반 보드가 있습니다. 칸반 보드는 태스크 보드나 스크럼 보드라고도 부릅니다. 칸반 보드는 작업 진행 상황을 흐름 기반으로 시각화 하여 이해 관계자들과 의사소통을 촉진하기 위한 시각적 표현 기법입니다. 칸반 보드에서는 시작 준비가 된 작업과 작업의 진척, 그리고 완료된 작업들을 표시합니다.
칸반 보드를 통해 누구나 특정 작업 상태나 각 단계 별 작업의 수를 한 눈에 파악할 수 있습니다. 프로젝트에서 칸반 보드를 활용할 경우, 프로젝트의 작업 흐름이 둔화되지 않도록 하기 위해 작업 진척의 규모를 제한할 수 있습니다. 칸반 관리는 작업의 흐름을 중요시하는 시각화 기법입니다. 프로젝트를 종료하고 운영으로 전환하게 되면 오류를 우선적으로 조치하고 개선 사항들에 대해서는 우순 순위에 따라서 개발을 진행하는 것이 일반적인 진행 방법입니다.
따라서 운영 단계에서는 개발할 범위를 정한 다음, 반복 주기에 할당하기 보다는 백로그에 쌓여져 있는 업무들 중에서 이번 주에 개발할 것을 결정하는 방식이 적합할 수 있습니다. 칸반은 일정 계획은 수립하지 않고 하나의 작업을 종료한 다음 이후 작업을 진행하는 방법을 사용합니다.
칸반 보드에 대한 세부 내용 설명
칸반은 일정 계획 보다는 작업의 흐름에 대한 최적화에 보다 더 집중하게 됩니다. 칸반 관리의 특징은 다양합니다. 칸반 관리에서는 진행 중인 작업의 수를 제한하게 됩니다. 적정 수준의 리드 타임을 유지하기 위해서 현재 진행 중인 작업의 수를 적정 수준으로 유지하는 것이 중요합니다. 진행 중인 작업의 수는 프로젝트 팀의 과거 데이터를 참조하여 결정하게 됩니다. 운영 업무 유형을 신규 기능, 오류와 성능 향상, 기능 개선, 영업 지원 등으로 구분하여 적정 비율을 유지할 수 있도록 합니다. 업무 중요도 관점에서는 긴급 요청 사항과 고정 일정, 표준, 기타로 구분하여 적정 비율을 유지할 수 있습니다.
칸반 보드는 작업 진행 현황을 시각화 하게 됩니다. 칸반 보드는 화이트보드나 지라(JIRA)와 같은 도구를 사용할 수 있고 진행 중인 전체 프로젝트 작업 현황에 대해 직관적으로 쉽게 파악할 수 있도록 구성됩니다. 칸반 보드에 부착하는 것을 신호 카드라고 부릅니다. 신호 카드는 하나의 요구 사항을 의미합니다. 하나의 요구 사항은 하나의 사용자 스토리가 됩니다. 신호 카드의 상태는 진행 단계 별로 구분하기도 하지만 작업의 중요도에 따라서도 구분할 수 있습니다. 작업의 중요도에 따라서 신호 카드의 색깔을 다르게 하면 됩니다.
칸반 보드에서는 처리 능력이 동일하면 일정 지연의 가능성이 높은 단계에 대해서는 작업의 수가 많은 개발 사항을 말하는 것입니다. 처리 능력이 높을수록 작업을 끝낼 수 있는 속도는 빨라지게 됩니다. 칸반 보드에서는 개별 업무의 계획 준수 보다는 평균 리드 타임을 더 중요하게 다룹니다. 칸반 시스템은 공정 준수율이나 공정 진척률 보다는 평균 리드 타임과 리드 타임 준수율을 중요하게 다룹니다. 칸반 보드에서는 당김 방식으로 개발할 요구 사항들을 결정합니다. 개발 방식에는 당김 방식과 미는 방식이 있습니다.
당김 방식은 프로젝트 팀의 처리 속도에 맞게 업무를 수용하고 미는 방식은 프로젝트 팀의 처리 속도를 고려하지 않고 업무를 밀어 넣는 것을 의미합니다. 당김 방식을 적용하기 위해서는 진행 중 업무 수행 개수를 제한한다는 전제 조건이 필요합니다. 칸반 보드에서는 변동을 최소화합니다. 안정적인 리드 타임을 유지하기 위해서는 변동을 최소화해야 합니다. 다양한 요구 사항들을 하나의 유형으로 관리하면 일정과 공수의 변동성이 커지게 됩니다. 요구 사항 유형을 몇 가지로 구분하여 유형 별로 리드 타임의 평균과 분산을 예측하기 관리하면 개발 리드 타임의 예측 가능성도 높아지게 됩니다.
프로젝트 인도 측정과 작업 진척
작업 진척과 관련된 인도 측정으로는 WIP(Work in Progress)가 있습니다. WIP(Work in Progress)는 진행 중인 작업을 의미하며, 각 단계마다 동시에 진행할 수 있는 작업의 수를 의미합니다. 한계선을 통해 작업 흐름과 관련된 여러 단계에 있는 작업의 최대 수를 제한하여 원활한 작업의 흐름을 유지하고 과부하를 방지할 필요가 있습니다. 병목과 지연을 줄이기 위해서 정해진 한계를 넘어서는 작업을 배치하거나 이동하면 안될 것입니다. 작업 진척과 관련된 인도 측정으로는 리드 타임 차트와 사이클 타임 차트가 있습니다.
리드 타임 차트와 사이클 타임 차트는 기간 별 작업량의 추세를 분석할 때 활용합니다. 응답 시간은 작업이 시작될 때까지 항목이 대기하는 시간입니다. 주기 시간은 애자일 팀이 작업을 완료하는데 걸리는 시간입니다. 시간이 일정하면 나중에 진행 가능한 작업 속도를 예측하는데 도움을 줄 수 있습니다. 애자일 팀은 주기 시간을 측정하여 불필요한 지연과 병목 지점을 찾아서 관리해야 합니다. 선도 시간은 특정 기능을 고객에게 릴리즈 하는데 들어가는 전체 시간입니다. 이는 보드에 추가된 시점부터 완료 될 때까지의 시간입니다. 짧은 리드 타임은 프로젝트 팀이 효과적인 프로세스와 생산성을 진행하고 있다는 것을 의미합니다.
인도 측정과 관련된 이론 정리
리틀의 법칙은 진행 중인 작업의 개수가 리드 타임에 미치는 영향을 설명하는 이론입니다. 리틀의 법칙을 프로젝트 관리 관점에서 정의하면 진행 중인 작업의 수는 단위 시간 당 처리량을 리드 타임으로 곱한 것과 동일합니다. 리드 타임을 줄이기 위해서는 진행 중 작업의 개수를 줄이거나 단위 시간 당 처리량을 늘려야 합니다. 이해 관계자들이 처리량이나 대기열 보다는 리드 타임에 더 관심이 많습니다. 리드 타임이 길어지면 지연 중인 작업이 많아지기 때문에 직관적으로 타당한 해결 방법은 처리량을 늘리는 것입니다.
대표적인 방안은 잔업이나 추가 인력 투입니다. 처리량이 증가하는 속도 보다 진행 중 작업의 수가 증가하는 속도가 커지면 리드 타임은 더 길어집니다. 이것은 더 많이 일하고 더 많이 지연되는 결과를 초래할 수 있습니다. 진행 중인 작업이 늘어나면 최대 처리량에 도달하기 전까지 업무를 최적화하고 낭비를 없앨 수 있습니다. 하지만 이후에 진행 중인 작업이 계속 늘어나게 되면 프로젝트 팀원들이 과도한 업무에 시달려서 팀의 처리량이 지속적으로 감소하게 됩니다.
사이클 타임이 길어지면 진행 중인 작업을 제한하거나 낮추는 방식으로 제어해서 안정적인 사이클 타임을 얻을 수 있도록 해야 합니다. 진행 중 작업(WIP, Work In Progress)는 특정 시간에 진행 중인 작업의 수를 나타냅니다. 칸반 시스템에서는 원활한 작업의 흐름을 유지하기 위해서 프로젝트 팀의 진행 중 작업의 수를 일정한 크기 이하로 제한하게 됩니다. 작업의 수는 프로젝트 팀의 특성에 따라 달라질 수 있습니다.
리드 타임은 소프트웨어 개발에서 요구 사항이 백로그에 등록된 다음 릴리즈 할 때까지의 시간을 의미합니다. 리드 타임을 낮추기 위해서는 회사나 조직의 딜리버리 프로세스 전반을 개선해야 합니다. 주기 시간은 리드 타임에서 대기 시간을 제외한 시간입니다. 요구 사항에 대한 개발을 착수한 다음 릴리즈까지의 시간입니다. 주기 시간은 프로젝트 팀의 생산성을 의미합니다. 주기 시간이 일정하면 작업 속도에 대한 예측 가능성도 높아집니다.
프로젝트 인도 측정 관련 추가 설명
배치 크기는 반복 주기에서 완료될 것으로 예상되는 작업의 예상 규모를 측정하는 것입니다. 배치 크기는 반복 주기에서 처리하는 업무의 규모입니다. 배치 크기가 클수록 리드 타임은 길어지고 낭비가 발생할 가능성이 높아지게 됩니다. 프로세스 효율성은 작업의 흐름을 최적화 하기 위해 린 시스템을 사용하는 것입니다. 프로젝트 효율성은 작업 흐름을 최적화 하기 위해서 평가하는 지표입니다.
특정 프로세스 리드 타임을 고객 관점에서 가치를 창출하는 리드 타임 가치 창출과 상관 없는 리드 타임으로 구분할 수 있습니다. 전체 리드 타임에서 가치 창출 리드 타임이 차지하는 비율을 프로세스 효율성이라고 하는 것입니다. 프로세스 효율성을 계산하기 위해서는 가치 흐름도를 작성하는 것도 좋습니다.부가가치 시간과 비부가가치 시간 사이의 비율을 계산하는 것입니다. 대기 중인 작업은 비부가가치 시간으로 하고 개발에서 검증 중인 작업은 부가가치 시간으로 나타내고 비율을 측정함으로써 프로세스 효율성을 확인하게 됩니다. 애자일은 효용성이 떨어지는 예측 측정 대신 실증적, 가치 기반 측정을 선호하게 됩니다.
애자일 프로젝트 중요 원리 설명
애자일은 고객에게 데모 가능한 가치를 가지고 있는 제품을 기반으로 합니다. 사용자 스토리 기반으로 기능이 완성되면 애자일 팀은 작동하는 제품을 주기적으로 데모 해야 합니다. 일반적으로 적어도 2주에 한번은 데모를 실시하는 것이 좋습니다. 데모를 통해 팀원들이 잘못된 방향으로 가는 것을 막아줄 수 있는 피드백을 받을 수 있기 때문입니다. 그리고 이는 진척 사항을 보여주기 위한 목적도 포함되어 있습니다.
반복 리뷰를 진행할 경우 프로덕트 오너가 주도하여 데모를 검증하게 되지만, 프로젝트 관리 오피스(PMO, Project Management Office)나 프로젝트 이해관계자에게 데모 참관을 권고하여 실제 진척 상황을 확인할 수 있도록 하는 것이 좋습니다. 진행 중인 작업의 성과를 측정하는 지표는 적응형 접근 방식에서 주로 사용합니다. 대기열 크기는 진행 중인 작업 수와 같은 의미를 가지고 있습니다. 리틀의 법칙에 의하면 대기열의 크기는 리드 타임과 대기열의 도착 속도에 비례합니다.
리드 타임을 줄이기 위해서는 대기열의 크기를 줄이거나 처리량을 늘려야 할 것입니다. 누적 흐름도는 시간의 경과에 따라 리드 타임, 사이클 타임, 진행 중 작업 수, 대기 업무, 완료된 업무를 종합적으로 보여주는 그래프입니다. 처리량은 직관적이지 않을 수 있지만 처리량이 진행 중 작업 수를 리드 타임으로 나눈 값이라는 공식을 기억하면 이해하기 쉽습니다. 작업 완료 속도가 작업 요청 속도를 따라가지 못하면 리드 타임은 점점 길어지게 됩니다.