← 블로그 목록

데드락은 컴퓨터 과학 용어지만 사람 사이의 교착을 돌아보게 하는 좋은 비유다

데드락은 본래 여러 작업이 서로의 자원을 기다리다 모두 멈춰 버리는 운영체제 용어다. 사람은 스레드가 아니지만, 데드락 성립의 네 조건이라는 구조만 빌리면 조직과 관계에서 누구도 먼저 풀 수 없는 교착이 왜 생기는지를 누가 더 나쁜가가 아니라 무엇이 서로를 묶고 있는가의 질문으로 다시 보게 된다. 그 비유의 쓸모와 한계를 정리한다.

데드락은 컴퓨터 과학 용어지만 사람 사이의 교착을 돌아보게 하는 좋은 비유다

데드락은 컴퓨터 과학 용어지만 사람 사이의 교착을 돌아보게 하는 좋은 비유다

데드락(deadlock)은 원래 컴퓨터 과학 용어다. 여러 작업이 서로가 가진 자원을 기다리면서 누구도 앞으로 나아가지 못하는 상태를 뜻한다. 시스템 안에서는 아주 구체적인 문제지만, 사람 사이의 갈등과 조직의 교착을 돌아볼 때도 꽤 유용한 비유가 된다.

물론 사람은 스레드가 아니고, 관계는 운영체제가 아니다. 그래서 둘을 완전히 같다고 보면 곤란하다. 다만 데드락의 구조를 빌리면 왜 모두가 멈췄는지를 더 차분하게 볼 수 있다.

데드락은 대개 네 가지 조건이 겹칠 때 생긴다

운영체제 교재는 데드락이 가능해지려면 보통 네 가지 조건이 함께 성립한다고 설명한다.

사람 사이의 교착도 비슷한 모습을 보일 때가 있다. 각자 자기 시간, 권한, 체면, 정보, 결재권을 쥔 채 다른 쪽의 양보를 기다리고, 먼저 풀 장치가 없으면 일이 멈춘다.

인간 관계에 비유할 때는 ‘구조’만 빌리는 편이 안전하다

데드락 비유가 좋은 이유는 누가 더 나쁜가보다 무엇이 서로를 묶고 있는가를 먼저 보게 만들기 때문이다. 예를 들면 이런 식이다.

이때 필요한 것은 종종 설득보다 구조 조정이다.

교착을 풀려면 보통 하나의 조건을 깨야 한다

시스템에서 데드락을 막는 방법도 결국 네 조건 중 하나를 깨는 것이다. 사람과 조직에서도 비슷하다.

즉, 갈등이 오래 간다고 해서 반드시 감정만의 문제는 아니다. 순서와 권한, 자원 배분의 구조가 잘못되어 있을 수도 있다.

마치며

데드락은 사람을 설명하는 만능 이론이 아니다. 하지만 교착 상태를 개인 성격 문제로만 보지 않게 해 준다는 점에서 좋은 비유다. 서로가 서로를 기다리고, 아무도 먼저 풀 수 없는 구조가 있으면 결국 관계도 프로젝트도 멈춘다.

문제를 푸는 첫 단계는 종종 누가 잘못했는가보다 어떤 조건이 서로를 묶고 있는가를 보는 일이다. 그 질문은 시스템에서도, 사람 사이에서도 꽤 유효하다.

참고 자료

← 목록으로
Related

함께 읽으면 좋은 글

소프트웨어 공학테스트재사용
재사용성과 테스트는 둘 다 의존성을 드러내고 경계를 나눌 때 좋아진다

재사용성과 테스트는 따로 다뤄지는 품질처럼 보이지만 실제 설계에서는 같은 방향으로 움직인다. 의존성을 드러내고 책임 경계를 작게 유지한 코드는 다시 쓰기도 쉽고 시험하기도 쉽다. 마틴 파울러의 의존성 주입 설명을 빌려, 두 품질이 결국 얼마나 덜 얽혀 있는가라는 같은 질문으로 수렴한다는 점과 함께 챙길 수 있는 설계 습관을 정리한다.

조직책임리더십
책임감은 개인의 미덕이지만 조직에서는 구조가 없으면 쉽게 증발한다

조직에서 책임감이 사라지는 장면은 대개 비슷하다. 모두가 문제를 봤지만 아무도 먼저 움직이지 않고, 결정권은 흐리다. 심리학의 책임 분산 연구와 조직 연구를 빌려, 누가 결정하고 누가 확인하며 실패할 때 무엇을 바꿀지가 보이지 않을 때 책임이 어떻게 증발하는지, 질책보다 먼저 책임이 가능하도록 만드는 구조가 왜 필요한지 정리한다.

비즈니스운영원가 관리
비용 절감은 숫자를 깎는 일이 아니라 낭비가 생기는 구조를 고치는 일이다

비용 절감은 흔히 사람과 예산을 자르는 문제로 이해되지만, 지속 가능한 절감은 대개 낭비, 대기, 재작업, 과잉 생산이 반복되는 구조를 먼저 고치는 데서 나온다. 도요타 생산방식의 낭비 개념과 맥킨지의 운영 우수성 관점을 빌려, 숫자를 깎기 전에 일이 어디서 막히고 되돌아오는지를 보는 시각, 사람부터 줄이면 왜 장기 비용이 다시 오르는지 정리한다.