하위 작업, 분할, 의존 관계¶
작업에 형태를 부여하는 세 가지 방법이 있습니다: subtask(하위 작업)로 나누기, 동일한 크기로 분할하기, 그리고 무엇이 먼저 일어나야 하는지 선언하기입니다.
Subtasks(하위 작업)¶
작업 세부 정보 패널의 Subtasks 탭에서 작업을 세분화합니다. 제목을 입력하고 Enter를 누르면 하나가 추가됩니다. 각 subtask는 자신만의 속성(status, estimate, dates 등)을 가지며 자신만의 패널에서 열립니다.
planner(플래너)가 의존하는 두 가지 규칙이 중요합니다.
- 부모의 견적은 subtask들의 합입니다. 작업에 자식이 생기는 순간 견적은 더 이상 수정할 수 없게 되며 "(sum of subtasks)"로 표시됩니다. 이를 바꾸려면 subtask의 견적을 바꾸세요.
- planner(플래너)는 리프(leaf)만 일정에 넣으며, 부모는 절대 넣지 않습니다. subtask가 있는 작업은 건너뛰고 대신 그 subtask들이 일정에 들어갑니다. 둘 다 일정에 넣으면 같은 업무가 두 번 예약됩니다. 원클릭 예약도 마찬가지입니다: subtask가 있는 작업에는 Auto-plan을 사용할 수 없으므로 대신 각 subtask를 예약해야 합니다.
subtask의 마감일은 부모의 마감일보다 늦을 수 없습니다. Empi는 그 변경을 거부하고 대신 부모를 그 날짜까지 연장(extend the parent)할지 제안합니다.
작업 분할하기¶
Split은 크기가 정해진 작업 하나를 여러 동일한 부분으로 나눕니다. 작업 패널(또는 List, Kanban 뷰의 일괄 작업 바)에서 열고 slot duration(slot 소요 시간)을 선택하면, Empi가 견적을 그 길이의 subtask들로 나눕니다. 마지막 부분이 나머지를 흡수합니다.
- 작업에는 먼저 견적이 있어야 합니다. 없으면 나눌 것이 없습니다.
- 분할은 2개에서 20개 사이의 subtask를 만듭니다. 2개 미만을 만드는 소요 시간은 제공되지 않습니다.
- subtask를 분할하면 그것이 파트 1이 되고 나머지는 형제로 추가됩니다.
분할은 한입 크기로 작업하고 각 부분에 자신만의 status를 부여하는 방법입니다. 가용 시간(capacity)을 만들어내지는 않습니다: 전체 견적은 그대로 유지되며, planner(플래너)는 이미 하루에 담기지 않는 작업을 스스로 연속된 날들에 나누고 있습니다.
의존 관계(Dependencies)¶
Blocked by는 이 작업 전에 끝나야 하는 것을 나열합니다. Blocking은 그 반대의 뷰입니다: 무엇이 이 작업을 기다리고 있는지입니다. 둘 다 속성 열에서 설정할 수 있으며, 다른 작업에 대한 검색을 지원합니다.
의존 관계는 계획에 대한 절대적인 제약입니다. planner(플래너)는 이 작업을 막고 있는 모든 것이 끝난 뒤에만 배치하며, 그 밖의 어떤 것도 고려하지 않습니다. 의존 관계가 해소된 뒤에만 나머지 정렬 순서(연체 우선, 진행 중인 업무, 가장 이른 마감일, priority)가 적용됩니다.
끝나지 않은 blocker가 있는 작업에는 배지가 붙습니다("Blocked by 2 unfinished tasks"). 모두 끝나면 "Dependencies complete, ready to schedule"로 표시됩니다.
Tip
Empi는 끝나지 않은 blocker가 있는 동안 작업을 자동으로 Blocked status로 옮길 수 있습니다. 이 토글은 Settings의 Tasks에 있습니다.
날짜 충돌¶
의존 관계와 날짜는 서로 모순될 수 있습니다. Empi는 수정하는 동안 이를 감지하며, planner(플래너)가 조용히 실패하는 대신 Scheduling conflicts(일정 충돌) 아래 작업에 표시합니다.
- 작업이 의존 관계가 끝나기 전에 시작합니다. blocker의 마감일이 이 작업의 시작일 이후이므로, 요청한 시점에 업무를 시작할 수 없습니다.
- blocker의 마감일이 의존하는 작업보다 늦습니다. 어떤 스케줄링으로도 이를 고칠 수 없습니다: 기다리고 있는 대상이 기다리는 쪽보다 늦게 마감됩니다.
- blocker의 마감일이 이 작업의 부모보다 늦습니다. 자신의 날짜가 무엇이든 상관없이 이 subtask는 제시간에 일정을 잡을 수 없습니다.
의존 관계 순환(A가 B를 기다리고, B가 A를 기다림)도 planner(플래너)에 의해 같은 방식으로 의존 관계 충돌로 보고됩니다.
각 충돌에는 실제로 해결할 수 있는 조치가 함께 제공됩니다.
- 차단하는 작업에 대해 Remove dependency.
- 대신 그 날짜를 고치러 이동하는 Open blocker.
- 이 작업을 가능한 가장 이른 날짜로 옮기는 Reschedule to
. - 실수로 변경했다면 Keep the original dates.
일정을 다시 잡으면 새 날짜에 더 이상 맞지 않는 예약된 slot이 해제될 수 있습니다. Empi는 이때 안내합니다("Freed 2 earlier slots")하여 그 시간이 눈에 보이게 다시 가용 시간(capacity)으로 돌아갔음을 알려줍니다.