Определение связей между задачами

Связь между двумя задачами определяет, каким образом время начала или завершения одной задачи влияет на время начала или завершения другой. Например, Окончательная сборка номера журнала может начаться только тогда, когда выполнена задача Обложка готова.

Задача, влияющая на другую, называется Predecessor (Предшественник), а задача, зависящая от другой, называется Successor (Последователь). Например, Обложка готова является предшествующей задачей, а Окончательная сборка — последующей.

Одна связь может объединять только две задачи, и при этом у одной задачи может быть несколько связей с другими задачами. Например, Окончательная сборка может начаться только после выполнения задач Обложка готова и Подготовка оглавления. Задача может иметь неограниченное число предшествующих и последующих задач.

Связи могут объединять и фазы, и все принципы организации связей между задачами применимы и к фазам. При этом связи могут объединять между собой и задачи, и фазы, например фаза может начинаться по завершении задачи.

Типы связей задач

В MS Project есть четыре типа связей между задачами. Связь типа Finish-to-start (Окончание-начало), или сокращенно FS (ОН), — наиболее распространенный тип зависимости между задачами, при которой задача В не может начаться, пока не завершена задача А:

При установке связи типа FS (ОН) увеличение длительности предшествующей задачи приводит к переносу даты начала последующей на более поздний срок

Рис. 11.7. При установке связи типа FS (ОН) увеличение длительности предшествующей задачи приводит к переносу даты начала последующей на более поздний срок

Если же изменить тип связи между задачами на SF (НО) и направить связь в обратную сторону, то при увеличении длительности хронологически предшествующей задачи ее дата начала будет переноситься на более ранний срок, и при этом дата начала последующей задачи не изменится. Именно поэтому такой тип связи используется в тех случаях, когда в качестве последующей задачи выступает та, срок начала которой не должен измениться.

Например, после того как задачи В и А были соединены связью SF (рис. 11.8), дата начала последующей задачи (А) изменилась таким образом, чтобы дата ее окончания совпала с датой начала предшественницы (строки 5-6). А когда мы увеличили длительность задачи А (строки 8-9), программа перенесла ее дату начала на более ранний срок, с тем чтобы дата ее окончания по-прежнему совпадала с датой начала предшественницы.

Если задачи соединены связью типа SS (НН), то изменение длительности любой из них приводит к изменению даты окончания только редактируемой задачи.

То есть наличие такой связи между задачами не влияет на алгоритм расчета длительности и сроков исполнения (рис. 11.9).

При наличии связи типа SF (НО) изменение длительности хронологически предшествующей задачи не влияет на дату начала последующей задачи

Рис. 11.8. При наличии связи типа SF (НО) изменение длительности хронологически предшествующей задачи не влияет на дату начала последующей задачи

При наличии связи типа SS (НН) изменение длительности одной задачи не влияет на сроки исполнения другой

Рис. 11.9. При наличии связи типа SS (НН) изменение длительности одной задачи не влияет на сроки исполнения другой

Если между задачами имеется связь типа FF(OO), MS Project старается синхронизировать даты окончания связанных задач. Если увеличивается длительность предшествующей задачи, то автоматически переносятся даты начала и окончания последующей задачи (чтобы дата окончания последующей задачи соответствовала дате окончания предшествующей). Например, на рис. 11.10 в строках 8-9 видно, что после увеличения длительности предшествующей задачи (А) дата окончания последующей задачи (В) была изменена. При этом длительность задачи В не изменилась.

Если же изменяется дата окончания последующей задачи (как в строках 11-12 на рис. 11.10), то дата окончания предшествующей задачи не изменяется, и задачи завершаются в разные дни. То есть при изменении длительности последующей задачи переносится только дата ее окончания.

Но если длительность предшествующей задачи больше длительности последующей, то изменение длительности последней происходит не за счет переноса даты ее окончания на более поздний срок, а за счет переноса даты ее начала на более ранний. Например, на рис. 11.10 в строках 8-9 длительность задачи А больше, чем В. Поэтому при увеличении длительности задачи В (строки 14-15) на один день дата начала этой задачи переносится на одни день назад, с 28.02.02 на 27.02.02.

Принцип расчета длительностей MS Project для типа связи FF (00)

Рис. 11.10. Принцип расчета длительностей MS Project для типа связи FF (00)

Использование задержек и опережений

Часто в жизни зависимости между задачами бывают немного более сложными, чем Finish-to-start (Окончание-начало). Например, между задачей «Покраска стен» и «Развешивание картин» должен пройти день, чтобы краска успела высохнуть. Для того чтобы описать такую зависимость между задачами, в MS Project используется параметр Запаздывание (Lag). Например, в случае с покраской стен запаздывание между задачами должно составить 1 день.

Запаздывание является свойством связи и может быть указано в диалоговом окне определения свойств связи (см. раздел «Редактирование проектных данных на диаграмме Ганта»). Запаздывание можно вводить как длительность (например, 1 день) или как процент от длительности предшествующей задачи. Например, если предшествующая задача продолжается 4 дня, то запаздывание в 25% будет равняться 1 дню.

Иногда для начала выполнения следующей задачи не нужно дожидаться полного окончания предыдущей. Например, можно начинать клеить обои, когда штукатурка положена хотя бы на некоторых стенах в доме. В таком случае следует использовать Опережение (Lead). Опережение вводится так же, как и запаздывание, но с отрицательным знаком, например опережение в 1 день указывается как -Id (-1д), а опережение в 50% (то есть следующая задача начинается, когда предыдущая выполнена наполовину) — как -50%.

Использование задержек и опережений при связи типа FS (ОН)

Рис. 11.11. Использование задержек и опережений при связи типа FS (ОН)

На рис. 11.11 представлен пример использования задержек и опережений вместе со связью типа FS (ОН). Задачи в строках 5-6 соединены обычной связью без задержки. В строках 8-9 было добавлено запаздывание в 1 день, и дата начала задачи В автоматически была перенесена на 1 день позже, с 27.02.02 на 28.02.02.

В строках 11-12 запаздывание было изменено на 100%, то есть на длительность предшествующей задачи (А). Поскольку длительность А равняется 2 дням, то дата начала В была перенесена с 27.02.02 (строки 5-6) на 01.03.02 (в феврале 2002 г. 28 дней). В строках 14-15 при сохранении параметров задержки мы увеличили длительность задачи А на 1 день (до 3 дней), и дата начала В была перенесена еще позже, на 05.03.02 (на 1 день позже теперь заканчивается А, плюс запаздывание в 3 дня, плюс два выходных дня).

В строках 17-18 используется опережение в 1 день. В результате начало задачи В, которое в строках 5-6 значилось как 27.02.02, теперь перенесено на 26.02.02. В строках 20-21 используется опережение в процентах (50%). Поскольку 50% от длительности А составляет 1 день, то дата начала В в строке 21 такая же, как и в строке 18. Но при увеличении длительности А в строке 23 до 4 дней длительность опережения автоматически увеличилась до 2 дней, и дата начала В автоматически изменилась на 27.02.02 (28.02.02 заканчивается А, и если бы не использовалось запаздывание, то В началась бы лишь 01.03.02; но так как запаздывание есть и равняется 50% длительности А, то есть 2 дням, то дата начала переносится на 27.02.02).

Как видно из примеров, особенно удобно указывать запаздывания и опережения в процентах от длительности предшествующей задачи, так как при ее изменении MS Project автоматически перенесет дату начала последующей задачи на соответствующий день.

Способы редактирования связей

Мы уже знаем способы создания и редактирования связей с помощью мыши. Однако это не единственная возможность, предоставляемая MS Project для работы со связями. Их можно редактировать прямо в таблице, куда вводятся данные, в особой форме или в диалоговом окне определения свойств задачи. Кроме того, создавать связи можно с помощью кнопки Link Tasks (Связать задачи) стандартной панели инструментов (см. представленный ниже рисунок). Для этого нужно выделить две или больше задач и нажать эту кнопку. Задачи будут соединены последовательно связью типа Finish-to-start (Окончание-начало). Например, если выделены задачи 1, 2 и 3, то после нажатия кнопки задача 2 будет следовать за задачей 1, а задача 3 — за задачей 2. Выделив все связанные задачи и нажав кнопку Unlink Tasks (Разорвать связи задач), можно быстро удалить все связи между ними.

Фрагмент таблицы из плана проекта с введенными связями между задачами

Рис. 11.12. Фрагмент таблицы из плана проекта с введенными связями между задачами

Как вы помните, связью по умолчанию является Finish-to-start (Окончание-начало), поэтому если в поле Predecessors (Предшественники) просто указать номер задачи1, это будет означать, что данная задача является предшественницей текущей. Например, предшественницей задачи Предварительная редколлегия является задача с номером 3, то есть Подготовка плана номера. Соответственно, Предварительная редколлегия начинается 01.11.01, то есть после того, как 31.10.01 завершена Подготовка плана номера.

В тех случаях, когда связь отличается от стандартной, в поле нужно указать номер предшествующей задачи и аббревиатуру, соответствующую типу связи (например, как в строках 26, 27 и 28). Если у связи есть запаздывание или опережение, то его нужно указать рядом с типом связи, используя знаки + или -. Если запаздывание или опережение используется со стандартной связью FS (ОН), то ее аббревиатуру тоже нужно указать (как в строке 12). А если у задачи есть несколько предшественниц, то связи с ними нужно указать через точку с запятой (как, например, в строке 30).

Колонка Predecessors (Предшественники) по умолчанию включена только в таблицу Entry (Ввод). Если вам покажется удобным редактировать данные о связях с ее помощью, то вы можете добавить ее в любую таблицу с информацией о задачах.

ПРИМЕЧАНИЕ

Для просмотра номеров последующих задач (то есть задач, для которых теку-щая задача является предшественницей) можно отобразить в таблице колонку Successors (Последователи).

Редактирование связей в форме

Работать с колонкой таблицы удобно, когда используется только связь по умолчанию, поскольку в этом случае достаточно вводить в нее номера соответствующих задач. Правда, это удобно делать, если предшественницы находятся по соседству и для их поиска не нужно прокручивать несколько экранов.

Если же вы используете в проекте разнообразные типы связей, то удобнее будет воспользоваться специальными диалоговыми окнами для работы с ними. Наиболее удобным является диалоговое окно Task Form (Форма описания задачи). Эта форма (см. раздел«Настройка отображаемой на форме информации») отображается, если, находясь в диаграмме Ганта, выбрать команду меню Window > Split (Окно > Разделить). Ее также можно вызвать из диалогового окна View > More Views (Вид > Все виды).

По умолчанию отображается форма для редактирования задействованных в задаче ресурсов и связей с предшественницами, но с помощью контекстного меню формы можно вызвать диалоговое окно Predecessors & Successors (Предшественники и последователи), в котором можно редактировать связи выбранной задачи как с предшествующими, так и с последующими задачами (рис. 11.13, файл 5.mpp). Форма разделена на две таблицы с одинаковой структурой, содержащие колонки с номером задачи, ее названием, типом связи и величиной задержки. Левая таблица содержит информацию о предшественницах, а правая — о последующих задачах.

Номер задачи берется из первой колонки, выделенной на рисунке серым фоном.

Редактирование связей с помощью формы описания задачи

Рис. 11.13. Редактирование связей с помощью формы описания задачи

Чтобы удалить связи из таблицы, нужно установить курсор на строку с информацией о связи и нажать клавишу Delete. Для добавления связи нужно установить курсор на свободную строку в таблице и в раскрывающемся списке выбрать название задачи, с которой нужно связать текущую. Тип связи тоже выбирается из раскрывающегося списка.

Редактирование связей с помощью формы описания задачи удобно тем, что вся работа со связями осуществляется в одном окне с информацией о задачах и с диаграммой. Редактируя связи между задачами, можно прокрутить диаграмму или просмотреть последовательность задач, что очень удобно. Этих достоинств лишен третий способ редактирования связей, о котором пойдет речь далее.

Редактирование связей в диалоговом окне сведений о задаче

В диалоговом окне информации о задаче (оно открывается с помощью двойного щелчка на названии задачи в таблице) содержится вкладка Predecessors (Предшественники), на которой можно редактировать связи с предшествующими задачами (рис. 11.14, файл 5.mpp).

Вкладка содержит таблицу, аналогичную той, что размещена на форме описания задачи, и для работы с ней нужно применять те же приемы. Диалоговое окно сведений о задаче удобно использовать, когда нужно отредактировать связи одной или двух задач. При работе со связями большего числа задач удобнее использовать форму.

Вкладка Predecessors (Предшественники) в диалоговом окне сведений о задаче

Рис. 11.14. Вкладка Predecessors (Предшественники) в диалоговом окне сведений о задаче

Такой вид принял план проекта после указания длительностей задач и связей между задачами

Рис. 11.15. Такой вид принял план проекта после указания длительностей задач и связей между задачами

После того как мы указали длительности задач и определили связи между ними, план проекта Издание номера журнала принял вид, представленный на рис. 11.15 (файл 9.mpp). Теперь нужно переходить к определению основных дат и крайних сроков проекта.