У одной задачи всегда есть несколько вариантов решения. Как их рассмотреть? Как оценить плюсы и минусы каждого из вариантов? Как отследить влияние каждого из вариантов на финансовые, временные и трудовые ресурсы? Значит, было бы очень неплохо иметь возможность "переключаться" между вариантами и анализировать их.
Постараюсь кратко описать свои мысли по реализации функционала "вариантов".
1) Ввести новый тип елемента в проекте - "вариант". Его предназначение только в одном - собирательный элемент, условие "или" (case) в проекте. Основным полем для него будет состояние, которое может принимать значения "Активен" и "Неактивен". Вариант, как узел может быть дочерним для любого другого типа элемента. Если, например, у "работы" есть дочерний "вариант", то для этой же работы дочерними могут быть только другие "варианты", и только один из них будет "Активен".
2) В проекте есть обязательные элементы. Своей структурой проект напоминет электрическую схему с разными соединениями (паралельными и последовательными). Варианты - переключатель который включает в схеме ту или иную часть цепи.
3) Построение "зависимостей вариантов". Бывают взаимоисключающие и взаимозависимые блоки. Буквально прозвучит это так: "если мы сделаем так-то, то в будущем нам придется сделать вот это и вот это". И наоборот - "если мы сделаем так вот, то будущем не сможем выбрать вот эти варианты". Зависимости необходимо будет использовать, так как есть обязательные блоки, после "прохождения" которого, варианты выбранные до этого блока влияют на возможности выбора последующих блоков.
Как это будет работать? Как электрическая схема. По очереди мы будем активировать разные варианты, после чего будут пересчитываться различные составляющие проекта: финансы, время, другие ресурсы. Это даст нам возможность выбрать опмимальный план действий. Также мы получаем запасные варианты действий (чуточку риск менеджмента).
Ожидаю коментариев и критики вышеописнного подхода.
Мне кажется что схема сложновата. Не могу предложить более простую, но думаю что с такой людям будет работать не просто.
Был у меня еще один вариант, более простой (без пунктов 2 и 3).
Суть не меняется: только "обязательные работы" необходимо было "копировать" во все ветки вариантов, в которых они нужны. Но пункт 3 полностью выпадал, так как "Дерево Вариантов" начинало работать по схеме:"можно выбрать только те варианты, которые существуют в этой ветке". То есть "поиск в глубину" по дереву вариантов.
Если сделать по проекту наглядную схему, то планировать проект будет одно удовольствие.
Пример задачи для такого вида проекта.
Сбыт продукции.
Вариант1. Продать всю продукцию на месте по цене Х.
Вариант2. Перевезти в точку В и продать там по цене У.
Вариант 2.1 Перевозку осуществляют подрядчики за К.
Вариант 2.2 Перевозку осуществляю своими силами.
Вариант 2.3 Часть перевозит подрядчик. Часть перевожу сам.
Вариант3. Часть продукции продаю не месте часть перевожу.
Лично мне идея нравится, и уверен что она может быть востребована. Единственное что смущает, что работать с таким планом все же будет сложновато. Но наверное оно того стоит.
С OLAP тоже непросто, но ими же пользуются :).
Значит буду думать над дружественным интерфейсом. Первое что приходит в голову - составление электрической схемы в Террасофтовском билдере бизнес процессов.
А это вообще относится к управлению проектом? Пока описанный функционал нужен на стадии планирования проекта. А вот в дальнейшей работе он, кажется не нужен. так?
Если бы всеработы по всем проекта выполнялись так, как запланировали - жить было бы намного скучнее :)
Если серьезно, то ввиду ограниченности ресурсов, непредвиденных ситуаций и событий с вероятностью отличной от единицы, я полагаю, вышеописанный функционал относится к управлению проектами.