시간관리의 과학
효과적인 스케줄 관리 방법
이 글은 <알고리즘 인생을 계산하다> “5장 중요한 것부터하라_일정 계획”을 발췌 요약한 글입니다.
컴퓨터 알고리즘은 컴퓨터 시스템이라는 기계에만 효과있겠지 하는 의문이 생길 수 있겠다. 나도 비슷한 생각을 했었는데 책의 머릿말에 나온 아래의 글을 읽고나니, 인간에게도 도움이 되겠다는 생각을 했다.
현재 컴퓨터과학의 가장 큰 도전 과제는 사람과 대화하거나, 손상된 파일을 고치거나, 바둑에서 이기는 일 같은 것이다. 규칙이 명확하지 않거나, 필요한 정보 중에서 일부가 빠져 있거나, 정답을 찾으려면 천문학적인 수의 가능성들을 살펴보아야 하는 문제들이다. 그리고 연구자들이 가장 어려운 부류의 문제들을 풀기 위해 개발한 알고리즘이 쓰이면서 컴퓨터는 철저한 계산에 극도로 의지하던 양상에서 점점 더 벗어나왔다. 우연을 받아들이고, 정확성을 희생시켰지만, 대신 시간을 단축하고 근사값을 사용하면서 풀어야 하는 현실세계의 과제를 다루는 쪽으로 나아왔다.

우리가 해결해야할 일의 특성
- 다른 일이 끝나야만 시작할 수 있는 일
- 어떠한 시각이 지나야 시작할 수 있는 일
- 마감시한을 꼭 지켜야 하는 일
- 아무 때나 할 수 있는 일
- 시급하지만 중요하지 않은 일
- 중요하지만 시급하지 않은 일
우리는 살면서 다양한 일들을 마주한다. 그 일들을 효과적으로 처리하기 위해서 일정을 계획한다. 지속적으로 일정을 수행하고 계획을 조정한다. 하지만 생각만큼 잘되지는 않는다. 시중에 나온 여러 일정관리기법 책들이 이를 반증한다.
무엇을, 언제, 어떤 순서로 할까? 어떻게 하면 더 잘할까? 컴퓨터과학이 제시한 방법들을 살펴보자.
시간관리가 과학이 되다
일정계획의 과학은 산업혁명기의 기계 공장에서 시작되었다. 프레더릭 테일러는 공장 감독관으로 일하면서 감독하는 기계(그리고 사람)가 시간을 그다지 효율적으로 쓰지 못하고 있다는 확신을 갖게 된다. 그리하여 그는 ‘과학적 관리’라는 분야를 개척하게 되었다.
그 과정에서 개발된 모두가 볼 수 있는 공장 일정표 일명 간트차트는 아직도 여러 분야에서 활용되고 있다.
하지만 테일러와 간트의 일정 계획 연구는 어느 일정표가 가장 나은지 결정하는 근본적인 문제를 해결하지 못했다. 이 문제가 풀릴 수 있다는 첫 번째 단서는 셀머존슨이 발표한논문에서 나왔다.
세탁기와 건조기 문제 :옷의 더러운정도가 세탁시간과 관계있고 세탁물의 양은 건조시간과 관계 있을때 어떻게 작업을 배치해야할까? 처음에는 세탁시간을 가장 짧게 하고, 마지막에는 건조 시간을 가장 짧게 하면, 겹치는 시간이 최대가 된다. 즉 세탁기와 건조기가 동시에 돌아가는 시간이 최대다.
존슨의 논문은 즉시 응용가능하다는 차원을 넘어서 일정 짜기를 알고리즘 형식으로 나타낼 수 있다는것과 일정 짜기의 최적 해법이 존재한다는것을 드러냈다. 그 뒤로 상상할 수 있는 모든 수와 종류의 기계들을 지닌 온갖 공장을 상정하여 전략을 탐색한 수많은 문헌이 쏟아졌다. 우리는 이 문헌들 중 한 작은 부분 집합에 초점을 맞출 것이다. 세탁과 건조처럼 두 기계의 일정을 짜는 문제가 아니라, (우리 자신처럼)하나의 기계의 일정을 짜는 문제를 다룬 문헌들이다.
마감시한에 대처하기
기계가 한 대 뿐이고, 모든 작업을 다 하고자 한다면 작업을 어떤 순서로 하든지 간에 걸리는 시간은 똑같을 것이다. 일정 관리의 첫 번째 교훈 ‘목표를 명확히 하라’는 것이다. 우리는 점수를 어떻게 매기는지 알기 전까지는 어떤 일정이 가장 낫다고 선언할 수가 없다.
계획을 짜려면 먼저 척도를 골라야 한다. 존슨의 논문이후 쏟아져 나온 단일 기계 일정 관리를 다룬 논문들에서 고려할 만한 몇 가지 설득력있는 척도를 제시했고, 각 척도마다 단순한 최적 전략을 찾아냈다.
지연시간 척도
작업은 대게 만기일이 있고, 만기일을 얼마나 넘겼느냐에 따라 작업은 그만큼 지연된다.
따라서 우리는 만기일을 가장 많이 넘긴 작업의 지연 시간을 한 작업 집합의 ‘최대 지연 시간’으로 삼을 수 있다. 최대 지연시간을 최소화하는 데 관심이 있다면, 최선의 전략은 만기일이 가장 가까운 작업으로 시작하여 만기일이 가장 나중인 작업으로 나아가는 것이다. ‘최소 납기 우선’이라는 이 전략은 매우 직관적이다. (식당에서 최대 대기시간을 줄이는 것과 같다. 식당에서는 대체로 주문이 들어온 순서대로 처리해서 손님의 최대 대기시간을 최소화한다.)
지연시간의 합을 최소화 하고 싶을때에는 무어 알고리즘 전략이 최상의 계획이 된다.
무어의 알고리즘은 최소 납기 우선전략과 똑같이 시작하라고 말한다. 하지만 해당 작업이 제시간 안에 처리하지 못할듯이 보이면, 우리는 멈추고서 이미 계획한 일정을 재검토하여 작업시간이 가장 큰 항목을 빼버린다. 가장 큰항목을 시도조차 안한다는것은 그뒤에 오는 것들을 다 훨씬 더 빨리 처리한다는 의미가 될 것이다. 그 뒤로도 이 양상을 반복한다. 마감 순으로 작업을 배열하고, 뒤처지면 언제든지 일정표에서 가장 큰 항목을 빼버린다. 무어의 알고리즘은 내버려야 할 항목의 수를 최소화 한다.
빨리 다 끝내기
만기일에 상관없이 일을 다 끝내는것이 주된 관심사일때, 가능한 한 많은 일을 가능한한 빨리 하고 싶을때 어떤게 할까?
외부인의 관점을 취하는 것
내가하는 일의 양은 순서에 상관없이 동일하지만 외부인의 입장에서는 순서에 영향을 받을수 있다. 각 과제가 기다리는 고객을 나타낸다면, 가능한 한 그들의 전체 시간을 줄일 방법이 있다. ‘4일짜리 과제’와 ‘1일짜리 과제’를 이번주 중으로 처리해준다고 할때, 목요일 오후에 ‘4일짜리 과제’를 전달하고 금요일 오후에 ‘1일짜리 과제’를 전달한다면 고객은 총 4+5=9일을 기다리는 셈이될것이다. 하지만 순서를 뒤집어서, 월요일에 ‘1일짜리 과제’를 전달하고 금요일에 ‘4일짜리 과제’를 전달한다면, 고객은 총 1+5=6일만 기다리면 된다. 어느쪽이돈 주중 내내 일하지만, 고객의 시간에서 총 3일을 절약해주는 게 된다. 일정관리 이론가들은 이 척도를 ‘완료 시간의 총합’이라고 한다. 완료 시간의 총합을 최소화 하는 것은 ‘최단 처리 시간’이라는 아주 단순한 최적 알고리즘으로 이어진다. 언제나 가장 빨리 끝낼 수 있는 과제를 먼저 하라는 것이다.
중요도(가중치) 관점
일하는데 걸리는 총 시간에는 아무런 변화가 없지만, 미해결 과제의 수를 가능한 빨리 줄임으로써 마음을 편하게 해줄 수도 있다. 가중치는 각각의 일을 끝낼 때마다 어깨가 가벼워지는 정도처럼 부담 또는 그것이 주는 이익 등으로 이해할 수 있다. (중요도의 절대 가치는 알기 힘들어도 상대적 중요도는 설정하기 쉽다. A보다 B가 두배 더 중요하다. )
이는 단위 시간당 중요한 순서에 따라 일을 해나가는 것에 해당한다. 하나의 과제 완수 시간은 그 부담을 얼마나 오래지고 있는지를 나타내므로, 가중 완료 시간의 총합(각 과제의 지속시간에 가중치를 곱한값)을 최소화한다는 것은 맡은 일 전부를 수행할때의 총 부담을 최소화 한다는 의미다. 업무 맥락에서 가중치는 ‘각 과제로 얻을 수익’으로 쉽게 번역될 수 있다. 시간당 수익이 높은것 먼저하는것이다.
소득이 아니라 부채에 적요될 때, 빚 더미라는 나락에 빠지지 않게 대처할 전략 역시 나온다. 이 전략은 이자율이 가장 높은 빚 하나만을 갚는데 돈을 쏟으라고 말한다. 반면에 부채의 액수보다 채권자의 수를 줄이는 데 더 관심이 있다면(예를 들어, 이자율 차이보다 독촉장과 독촉 전화의 횟수에 더 신경이 쓰인다면) 가중치를 부여하지 않은채 가장 적은 액수의 빚부터 갚는 최단 처리 시간 알고리즘으로 돌아가야한다.
문제를 파악하라
컴퓨터 과학에서는 어떤 시스템에 사소한 일을 압도적으로 많이 시킴으로써, 혼란에 빠뜨려서 중요한 일을 못하게 만드는 것을 핑공격, 서비스 거부 공격이라고 한다
척도를 선택하는 것은 우리자신이다. 다시 말해 많은 사례에서 자신이 어떤 문제를 해결하고 싶은지 결정하는 것은 우리 자신이다. 이는 시간 관리의 고전적인 병리 현상인 ‘지체’를 근본적으로 다시 생각하도록 만든다. 대개 우리는 그것을 결함 있는 알고리즘이라고 생각한다. 하지만 정반대라면? 지체가 잘못된 문제의 최적 해결책이라면?
우리는 대개 ‘지체’를 게으름이나 회피 행동과 연관 짓지만, 일을 가능한 한 빨리 다 끝내기 위해 열심히 열정적으로 노력하는 사람에게서도 쉽게 나타날 수 있다.
다르게 보면 여러 가지 사소한 과제들에 주의를 돌림으로써 주요 과제를 미루는 것도 ‘하위 목표를 완수하기 위해 서두르는’ 것으로 비칠 수 있다. 즉 일을 미루는 이들이 사실은 신경 쓰이는 미해결 과제들의 수를 가능한 한 빨리 줄이기 위해 최적으로 행동하는 것이라는 말을 달리 표현하는 것일 수 있다. 그것은 빨리 다 끝내기 측면에서 나쁜전략이 아니다. 잘못된 척도를 위한 탁월한 전략인 셈이다. 가중치를 부여하지 않은 최단거리 알고리즘을 적용하면 이런 자잘하고 실행비용이 적은 것들을 먼자 하는것은 자연스럽다.
척도에 따라 살고, 척도에 따라 죽는다. 모든 과제가 실제로 동일한 가중치를 지닌다면, 우리가 해야 할 일은 바로 그것임은 명백하다. 하지만 사소한 일의 노예가 되고 싶지 않다면, 그 목표를 위한 척도를 취할 필요가 있다.
우선순위 역전과 선행 제약
화성 탐사선 마스 패스파인더에서 우선순위가 높은과제를 외면하고 중요도가 중간인 과제들에 시간을 쏟는 상황이 발생했다. 이는 우선순위 역전이라는 일정계획의 고전적인 위험요소로서 우선순위가 낮은 과제가 시스템 자원의 소유권을 차지하고 있는 상테에서, 도중에 타이머가 작동하면서 하던일이 중단되는 현상이다. 타이머는 수행되고 있는 일을 중단시키고 시스템 스케줄러를 불러온다. 스케줄러는 우선순위가 높은 과제를 불러오지만, 다른 과제가 자원을 차지하고 있어서 작동 시킬수가 없다. 그러면 스케줄러는 목록을 따라 내려가서, 막히지 않은 과제를 수행한다. 이럴때 시스템에서 우선순위가 가장 높은 과제가 임의의 긴 기간 동안 종종 외면당할 수 있다.
해결책은 우선순위 상속이다. 우선순위가 낮은 과제가 우선순위가 높은 자원을 차단하는 일이 발생하면, 그 순간에 우선순위가 낮은 과제가 자신이 차단하고 있는 과제의 우선순위를 ‘상속’함으로써 일시적으로 우선순위가 가장 높은 과제로 바뀌게 하는 것이다. 여기서 교훈은 빨리 다 끝내기 방식이 일정 계획의 함정을 피하는 데 충분치 않으며, 중요한 일을 빨리 끝내기 방식도 마찬가지라는 사실이다. 즉시 일을 진척시키려는 욕구 자체가 지체와 똑같아 보이는 것으로 이어질수 있다.(우선 지금 할 수 있는 일을 하자라는 접근)
다른 과제를 끝내기 전까지 어떤 과제를 시작할 수 없을 때, 일정관리 이론가들은 ‘선행 제약’이라는 말을 쓴다. 아파트 수리는 시급하지 않지만, 아파트 수리장비를 싣은 벤 반납이 시급한 것이라면, 아파트 수리를 시급한것으로 생각해야한다.
과속 방지턱
최대 지연 시간을 최소화하는 최소 납기 우선 알고리즘을 취할때, 과제들이 선행제약을 지닌다면 일이 더 까다로와진다. 형식적으로 명확히 표현될 수 있는 문제가 모두 답을 지니고 있는 것은 아니다. 일정 관리 문제에서 어려운 문제의 비율은 얼마나 될까? 저녁이 되기 전에는 쓰레기를 내놓을 수 없게 하는 것은 합리적인 도시 조례일 수는 있지만, 당신의 일정표를 어려움에 빠뜨릴 수도 있는 것이다.
최근 조사에 따르면, 모든 문제중 약 7%는 아직 알려지지 않은 상태임을 보여준다. 하지만 나머지 93%를 우리가 이해하고 있다고 해도, 그중 9%만 효울적으로 풀수 있고, 나머지 84%는 어려운 문제로 밝혀져 왔다. 다시말해, 대다수의 일정 관리 문제들은 쉬운 해결책이 결코 없다. 자신의 일정표를 완벽하게 관리하려고 노력하는 것이 힘들게 느껴진다면, 아마 실제로 그렇기 때문일것이다.
하던 일을 다 멈춰라: 선점과 불확실성
일정 계획을더 쉽게 만들 수 있는 변화도 하나 있다. 한 과제를 중간에 멈추고 다른 과제로 전환할 수 있도록 하는 것이다.
선점preemption이라는 이 특성은 게임의 양상을 대폭 바꾼다는 것이 드러났다. 최대 지연(커피숍에서 서비스를 제공할 때)이나 완료 시간의 총합(할일 목록을 빨리 줄이고자 할 때)의 최소화는 일부 과제들이 특정한 시간까지 시작할 수 없다고 한다면 둘 다 어려움에 빠진다.
최소 납기 선점
어떤 과제를 시작할 시간이 되면, 그 과제를 현재 수행중인 과제와 비교한다. 최소 납기 우선 방식으로 일하고 있는데 새 과제가 지금 과제보다 납기일이 빠르다면, 과제를 전환한다.
최단 처리 시간 선점
최단 처리 시간 방식으로 일하고 있는데, 새 과제가 지금 하고 있는 과제보다 더 빨리 끝낼 수 있다면 과제를 바꾸어서 한다.
현대의 기계 공장은 다음 며칠 동안 예상되는 일들을 모두 알고 있을지 모르지만, 우리 인간 대다수는 대개 적어도 어느 정도는 모른 채 일을 한다. 예를 들어, 우리는 특정한 과제를 언제 시작할 수 있을지조차 확신하지 못할 수도 있다. 하지만 설령 과제들이 언제 시작될지 모른다고 해도, 최소 납기 우선과 최단 처리 시간은 여전히 최적의 전략이며, 불확실한 상황에서 가능한 최고의 성과를 낸다고 (평균적으로) 보장할 수 있다.
사실 최단 처리 시간의 가중치 부여 형태는 불확실한 상황에서 최고의 범용 일정 관리 전략의 강력한 후보이다. 특정한 가정들 하에서, 이 알고리즘은 예상한 대로 가중 완료 시간들의 합만 아니라, 후 순위 과제들의 가중치 합과 그 일들의 가중치 지연 시간의 합도 최소화한다.
선점은 공짜가 아니다: 문맥 전환
많은 일정 계획 문제들을 풀 단순한 최적 알고리즘이 있으며, 그런 문제들은 우리가 생활하면서 매일같이 접하는 상황들에 매우 가깝다. 하지만 실제로 단일 기계 일정 계획을 수행하려고 하면 상황이 복잡해진다.
첫째, 사람과 컴퓨터 운영 체제는 똑같이 한 가지 신기한 도전 과제에 직면한다. 일정 계획을 짜고 있는 기계와 일정 계획의 대상인 기계가 한 몸이라는 것이다. 그리하여 당신의 할 일 목록은 할 일 목록에 관한 하나의 항목으로 정리된다.(할일 목록 만들기가 할일중하나인것이다)
둘째, 선점은 공짜가 아니다. 과제를 전환할 때마다, 당신은 대가를 치른다. 컴퓨터과학에서는 이를 ‘문맥 전환’이라고 한다. 사람도 분명히 문맥 전환 비용을 치른다. “어디까지 이야기 했지?”, “내가 지금 무슨 말을 하고 있었더라?” “어디까지 썼지?” “어디까지 읽었지?”우리는 흔히 이러말을 한다. 그리고 이런 상황을 방지하기위해 현재상태를 저장하고 로드하는 작업을 한다. 메타작업, 즉 장부에 적고 작업을 관리하는 데 시간이 들어긴다. 그것은 일정 계획의 근본적인 트레이드오프 중 하나다. 그리고 일정 계획에 더 치중할 수록, 비용은 더 커진다.
스레싱
컴퓨터는 ‘스레싱thrashing’이라는 처리 과정을 통해 다중 작업을 한다. CPU는 한 번에 한 프로그램만을 작동시키지만 프로그램들을 아주 빨리 교체하기 때문에 영화를 보여주고, 웹서핑을하는 일을 동시에 하는듯이 보인다.
“다중 작업을 하고 있는 컴퓨터에 작업을 더 추가할 때 나타나는 문제이지요. 어느 시점이 되면 결정적인 문턱을 넘어서게 돼요. 그 문턱이 어디인지는 정확히 예측할 수 없지만 넘어서면 알게 됩니다. 그러면 갑자기 시스템이 먹통이 되는 듯하지요”
“프로그램을 하나 더 추가하자 시스템이 완전히 붕과했어요. 언뜻 볼 때엔 두 사례의 확연한 차이가 직관적으로 와 닿지 않았어요. 혼잡한 주기억장치에 새 프로그램을 추가할 때마다 시스템이 서서히 붕괴할 거라고 예상하기 마련이잖아요”
현재 컴퓨터과학자들은 ‘스레싱’이라는 용어를 시스템이 메타작업(문맥전환등의 작업)에 완전히 몰입하기 때문에 멈추는 모든 상황을 가리키는 데 쓴다. 스레싱은 사람에게도 나타난다. 하던 일을 멈추고 해야 할 일들을 다 적을 만한 짬을 내고픈 생각이 굴뚝같지만 시간을 낼 수 없을때 당신은 과다 상태에 있다. 그리고 사람이나 컴퓨터나 원인은 거의 같다. 각 과제가 한정된 인지자원을 끌어 쓰기 때문이다.
이 상태를 예방하는 가장 쉬운 방법은 기억 용량을 늘리는것이다. 스레싱을 미리 피하는 또 한 가지 방법은 ‘안 된다’고 말하는 기술을 터득하는것이다. 하지만 스레싱을 예방하기 위한 조언은 이미 스레싱에 처한 상태일 때엔 별로 도움이 안된다. 게다가 인간은 주위를 사로잡고 있는 것에 계속 정신이 팔리게 되어 있다.
이런 상황에서 더 열심히 일할 여지가 없다는 것은 분명하지만, 더 아둔하게 일할 수는 있다. 기억 용량뿐 아니라, 문맥 전환에서 메타작업의 가장 큰 자원 중 하나는 다음에 무엇을할지 선택하는 행위 자체다. 스레싱 상태에서는 본질적으로 일에 진척이 전혀 없으므로, 일을 전혀 안 하는 것보다 잘못된 순서로라도 일을 하는 쪽이 더 낫다. 전체적으로 파악하는데 걸리는 시간이 실행을 하는데 걸리는 시간보다 더 오래 걸릴수 있을때는 중요한 일을 먼저하는 대신에, 그냥 임의의 순서로 실행함으로써 2차 시간이라는 모래 수령을 비켜갈 수도 있다 .
인터럽트 병합
실시간 일정 계획을 그토록 복잡하면서 흥미롭게 만드는 요소 중의 하나는 그것이 근본적으로 완벽하게 조화될 수 없는 두 원칙 사이의 타협이기 때문이다. 이 두 원칙을 ‘반응성’과 ‘처리량’이라고 한다.
반응성/처리량 트레이드오프를 스스로 해야 할 때 삶은 더 힘들어진다. 그리고 일들을 해낼 최상의 전략은 역설적이게도 처리 속도를 늦추는 것일 수 있다. 자기 차례가 오면 적어도 무언가를 할만큼의 최소작업시간을 보장하면 한계를 넘어서서 작업들이 추가되었을때 그저 대기 시간만 더 늘어난다.
어느 작업에 쓸 최소 시간을 정하면, 반응성에 치중하다가 처리량을 완전히 망각하는 일을 예방하는데 도움이 된다. 그 최소 조각이 문맥 전환에 걸리는 시간보다 더 길면, 시스템은 문맥 전환이 자신이 하는 유일한 일이 되는 상태로 결코 진입할 수 없다. 그 원칙은 인간의 삶을 위한 권고로 쉽게 번역될 수 있다. 타임박싱이나 포모도로같은 방법들, 말그대로 타이머를 설정하여 그 시간이 끝날 때까지 한 작업에 전념하는 방식은 이 개념을 구현한것이다.
그렇다면 목표로 삼을 조각의 크기를 얼마로 해야 할까? 처리량의 관점에서 보면 답은 단순하다. ‘가능한 한 길게’가 답이다. 하지만 이야기는 거기에서 끝이 아니다. 어쨌든 처리량이 많아 더 많아진다는 것은 반응성이 더 낮아진다는 의미이기도 하다.
컴퓨터는 사용자가 마우스를 움질일때 즉시 화면의 마우스 포인터를 움직여서 그것에 응답해야한다. 이는 컴퓨터는 사용자가 마우스를 움직이는지 확인하기 위해서 엄청난 노력을 기울인다는 의미다. 컴퓨터 시스템이 마우스와 키보드를 더 자주 확인할수록, 컴퓨터는 입력이 있을 때 더 빨리 반응할 수 있지만, 문맥 전환도 더 자주 해야 한다.
따라서 어떤 작업에 얼마나 오랫동안 몰두 할 수 있는지를 결정할 때 컴퓨터 운영 체제가 따르는 규칙은 단순하다. 사용자에게 신경질적이거나 느려터지게 보이지 않으면서 가능한한 오래 하라는 것이다.
컴퓨터 시스템은 사용자와 상호작용하지 않으면서 가능한 한 많은 시간을 보내다가, 제때에 마우스의 움직임에 맞추어서 화살표를 움직이도록 되어 있다. 여기에도 인간의 삶에 적용될 수 있는 원칙이 하나 있다. 최소 허용 한계 미만으로 반응성을 줄이지 않으면서 가능한 한 오래, 한작업을 지속하려고 애써야 한다는 것이다. 얼마나 반응을 해야 할지 결정한 다음, 일을 완수하기를 원한다면 결고 그 이상으로는 반응하지 마라
잡다한 짧은 작업들을 처리하느라 문맥 전환을 많이 하고 있다면, 컴퓨터과학에서 나온 또 다른 개념을 활용할 수 있다. 바로 ‘인터럽트 병합’ 이다. 당신이 전자 우편을 주고받는 사람 중에 어느 누구도 24시간 이내에 답신을 요구하지 않는다면, 전자우편을 확인하는 횟수를 하루에 한번으로 제한할 수 있다. 24시간 우편 배달 주기는 당신의 반응성을 최소로 요구한다. 즉 편지를 받고서 답장을 5분뒤에 하든 5시간 뒤에 하든 아무런 차이가 없다.
인터럽트 병합은 가장 지독한 업무 관행 중 하나를 긍정적으로 볼 관점을 제공한다. 바로 주례 회의다. 어떤 단점이 있든 간에, 정해진 시간에 열리는 회의는 자연스럽게 생기는 방해와 계획에 없는 문맥 전환을 막는 최선의 방어수단중 하나이다.우편물확인 외의 다른영역에서도 우리는 스스로 병합을 구축하거나 요구해야한다. 우리의 휴대폰과 같은 기기에는 ‘방해하지 마시오’ 모드를 지니고 있다. 우리는 수동적으로 그것을 온종일 켜놓거나 꺼놓을 수 있다. 또는 인터럽트 병합의 명시적인 대안을 제공하도록 기본 설정값을 바꿀 수도 있다. 이를테면 10분마다 한 번씩만 내게 알리도록 하는것이다.