가치 흐름 지도란?

가치 흐름 지도는 프로세스 분석, 낭비 영역 식별 및 워크플로 최적화를 위한 Lean 기술입니다.

Lean 생산 방식에서 가치 흐름 지도를 통해 물류, 보관 및 조립 라인 등 재료를 제품으로 전환하는 데 관련된 모든 단계를 살펴보고 효율성을 개선할 수 있습니다.

해당 프로세스는 전반적 프로세스를 도식화하여 과잉 생산, 대기 시간, 동작 및 결함 등 다양한 유형의 낭비를 식별한 후 이러한 낭비를 줄이는 계획을 수립하고 구현하는 작업으로 구성됩니다.

Lean 소프트웨어 개혁은 가치 흐름 지도를 포함하는 Lean 사고 및 기술을 소프트웨어 개발의 수명 주기에 적용하여 효율성 및 사용자에게 전달되는 결과물의 품질을 높이는 방식을 보여주었습니다.

Lean 철학은 지속적 피드백 루프가 포함된 반복 주기의 이점 및 가치를 더 빠르게 전달하기 위한 높은 품질 구축의 필요성을 강조하는 애자일 및 DevOps의 원칙을 보완합니다.

CI/CD 파이프라인이 이미 구현한 기업이든, 이제 막 출범한 기업이든 소프트웨어 개발 프로세스의 가치 흐름 지도를 구성하는 것은 매우 유용합니다.

아이디어부터 설계, 개발 및 릴리스를 아우르는 모든 단계, 사용자 및 도구를 도식화함으로써 제품의 전체 수명 주기를 시각화할 수 있습니다.

이후 지도를 활용하여 개발팀 및 운영팀 간 논의를 촉진하고, 각 단계에서 추가되는 가치 및 관련된 모든 사람의 우려 사항과 동기에 대한 공동의 이해를 구축할 수 있습니다.

프로세스를 대략적으로 확인한 후에는 사용자를 위한 가치(원하는 기능 등의 직접적 가치 또는 제품을 유지하는 등의 간접적 가치)가 없는 활동인 낭비 사례를 파악할 수 있습니다.

Lean 생산 방식에 따라 파악된 낭비 유형은 소프트웨어 개발에 맞게 조정되었으며, 다음과 같은 유형이 있습니다.

불필요한 기능

제조업의 과잉 생산과 마찬가지로 사용하지 않는 기능을 제작하는 것은 낭비입니다. 자주 제공되는 소규모 증분식 개발 방식과 실행 가능한 최소 제품 접근 방식을 활용하고, 피드백을 지속적으로 수렴하여 반영하면 개발 중인 제품에 대해 알리고 불필요한 기능에 시간과 노력이 낭비되지 않도록 방지할 수 있습니다.

작업 전환

여러 작업을 전환하며 작업할 경우 흐름 상태에 진입할 수 없으므로 낭비가 발생합니다. 작업이 중단될 때마다 다시 생산적으로 작업할 수 있는 적절한 마음가짐을 갖추는 시간을 보내야 합니다. 테스트의 각 단계를 트리거하는 데 수동 입력이 필요 없는 완전히 자동화된 파이프라인을 구축하면 작업 전환을 방지할 수 있습니다. 마찬가지로 경고 기능을 신중하게 사용하여 반드시 필요한 경우에만 중단되도록 하면(예: 프로덕션에서 실패로 표시되나 유닛 테스트 실패는 아님) 불필요한 작업 전환을 방지하는 데 도움이 됩니다.

대기

워크플로의 모든 단계에서 지연은 가장 명백한 낭비 중 하나이며, 결국 시장 출시까지 지연시킵니다. 개인 간 핸드오프를 줄이고 자동화 가능한 모든 것(빌드, 테스트, 배포 및 피드백 제공)을 자동화하면 대기 시간이 감소합니다.

추가 프로세스

한층 단순한 작업으로 동일한 결과를 얻을 수 있으나 지나치게 복잡한 프로세스와 절차를 생성하면 구현 및 관리에 시간과 리소스가 더 많이 소모됩니다. 그 예시로는 지나치게 복잡한 배포 및 스테이징 환경, 릴리스 시행 전마다 까다로운 위험 평가 등이 있습니다. 더 간단한 프로세스만으로 충분한 경우 단계별 동기를 이해하면 해결에 도움이 됩니다.

결함

결함은 추가 작업을 생성하며, 발견된 후에도 수정 시간이 소요됩니다. 그뿐 아니라 프로덕션 단계까지 넘어간 경우 고객 경험에 부정적 영향을 미칩니다. 자동 테스트를 거치는 소규모 증분식 개발 방식은 높은 품질을 갖추는 입증된 방식이며, 문제를 조기에 파악하여 원인을 쉽게 발견하는 데 도움이 됩니다. 프로덕션 단계에서 결함이 발견되면 수정 사항을 신속하게 릴리스할 수 있어 사용자에게 미치는 영향이 최소화됩니다.

일부만 완료된 작업

제조업에서 재고 또는 재고 과잉에 해당하는 ‘일부만 완료된 작업’은 다른 기능 및 개선 사항을 제공하는 데 지연을 초래하며 사용자에게 가치를 전달하지 않습니다. 이러한 낭비는 일반적으로 준비 없이 개발을 시작할 때 발생하며, 이로 인해 지연이 초래됩니다. 동시에 사용자의 니즈를 보다 잘 이해하고 개선을 통해 새로운 요구 사항을 충족해야 합니다.

핸드오프

다음 단계를 완료할 수 있도록 작업을 다른 팀에 넘겨야 할 경우 추가 지연이 발생하며(다음 팀이 작업을 즉시 시작할 준비가 되지 않을 수 있으므로), 회의나 문서를 통한 정보 이전이 필요합니다. 해당 과정에서 일부 정보가 손실되어 다시 찾아야 하는 경우도 많습니다. 이 모든 과정은 시간과 노력의 낭비이며 프로세스 속도를 저해합니다. 전체 수명 주기에 대한 권한을 가진 복합 기능팀을 활용하여 핸드오프를 최소화하면 이러한 낭비를 줄이는 데 도움이 됩니다.

프로세스의 낭비를 파악한 후에는 해결해야 합니다.

Lean, DevOps 및 애자일 원칙에 기반하여 변경 사항을 증분식으로 구현하고, 변경 사항이 미치는 영향을 모니터링하며, 진행 과정에서 피드백을 계속 수집하고 그에 따라 조정하는 것이 좋습니다.

마지막으로 가치 흐름 지도 자체가 낭비가 되지 않도록 주의해야 합니다. 올바른 기호를 익히고 발견한 결과를 도식화 도구로 전송하여 디지털 자산을 개발하는 데 긴 시간을 할애할 수도 있지만, 단순하게 화이트보드 세션으로 시작하여 가치 흐름 지도를 통한 이점을 먼저 파악할 수도 있습니다.