Стратегический эквалайзер
Система поддержки принятия решений в реальном времени. Ничего круче на свете еще не было.
Сегодня — чисто практический инструмент для тех, у кого много задач и есть возможность выбирать, в каком порядке их решать.
Если вы находитесь в ситуации, когда порядок задач определяется не вами, и от вашего мнения ничего не зависит, то вы — счастливый человек, и дальше можно читать только для развлечения.
Если же возможность выбора у вас есть, и вы хотите сделать этот выбор научно обоснованным, то стратегический эквалайзер — для вас.
Предпосылки
У меня возможность выбора была всегда. Даже когда ставили жесткие сроки по всем задачам, порядок их выполнения оставался за мной.
И всегда меня мучил один и тот же вопрос — что сначала, что потом, а главное — на чем основать свой выбор? Хотя бы для себя.
Я пробовал разные способы. Первый, самый простой — делать то, что горит. Быстро стало понятно, что если делать то, что горит, и ничего с этим не делать, то гореть будет бесконечно. Поэтому я предпринял определенные действия, и гореть перестало. Даже сроки переставили называть.
Второй способ — попроще, и более честный — делать задачи в том порядке, в котором они поступают. Честность зашкаливает, но работа начинает отдавать унылой безнадежностью — ты постоянно делаешь тонны всякой хрени, которая придумана давно, но от ее реализации в этом мире не меняется ровным счетом ничего.
Я написал систему планирования работы программистов, которая с точностью до секунды расписывала, кому, что и когда нужно делать, но она не отвечала на главный вопрос — почему надо делать задачи именно в таком порядке?
Проблема усугублялась количеством проектов и задач. Проектов было 30–50, часть были в работе, часть только в планах, часть декомпозированы, часть вообще без задач. В итоге, оперировать приходилось сотнями пунктов.
И ладно бы они все были однородными по своей степени влияния на результат. Сами знаете, бывает, что проект состоит из 50 задач, а ключевыми являются 1–2, после решения которых можно начинать опытную эксплуатацию, оставляя мелочи на потом.
В итоге я, как мне часто рекомендуют, пошел читать науку. И наткнулся на докторскую диссертацию одного из местных профессоров, который придумал забавный метод выбора проектов, исходя из стратегических целей развития предприятия. На самом деле, там был целый комплекс методов построения модели развития предприятия, формирования портфеля инновационных проектов, выбора приоритетов и т.д., но конкретно под мою задачу подходил один, достаточно простой метод. Названия в диссертации у этого метода не было, поэтому я придумал его сам, исходя из моей реализации — стратегический эквалайзер.
Для начала — пара коротких видеороликов о том, как он работает:
1. Стратегический эквалайзер программиста;
2. Стратегический эквалайзер системного администратора.
Суть
Суть метода, осуществляющего выбор, предельно проста.
У вас лично, у вашего отдела, у вашего предприятия есть цели. Идеально, если вы можете все свои цели записать в одну, но такое бывает редко. Либо вы себя обманываете, загоняя в одну формулировку несколько смыслов, иногда друг другу противоречащих.
Нам самих себя обманывать смысла нет, поэтому будем считать, что наша цель состоит из нескольких пунктов, каждый из которых профессор предложил считать вектором. У вектора, как вы помните, есть длина и направление.
Например, возьмем векторы из видеоролика про программиста:
- Избегать косяков, за которые влетит;
- Получать новые компетенции;
- Стараться работать на премию;
- Делать то, что делается легко, но заметно пользователям;
- Выполнять спокойную и тупую работу;
- Реально развивать предприятие.
Теоретически, можно сесть и потратить массу усилий на сведение всех небольших целей в одну, большую, цельную и нерушимую. Но это иллюзия.
Конечный вектор, являющийся суммой шести, всегда разный, и зависит от контекста, от окружающей в данный конкретный момент среды.
Если вы вчера сделали жесткий косяк, и вас, прошу прощения, вздрючили, то самое поганое, что вы можете сейчас сделать — упустить из виду задачу, за невыполнение которой вас снова вздрючат. Нужно обязательно следить за прогнозируемыми косяками, чтобы на волне неудачи не заплыть в сточную канаву.
Если же у вас косяков давно не было, и время спокойное, и у руководства вы на хорошем счету, то почему бы не сделать определяющей цель повышения компетенций? На курсы съездить, а лучше — слетать, за счет работодателя. На разве не прелесть?
И так можно продолжать до бесконечности. Но как так получается, если все шесть целей — векторы? Их сумма должна же быть постоянной — главным вектором, тем самым Путём, по которому надо идти всю жизнь?
А проще пареной репы — вы можете регулировать длину вектора, не трогая его направления. Если для вас конкретно сейчас совершенно индифферентно, развивается ли родное предприятие от вашей работы, вы превращаете этот вектор в нулевой (у которого начало и конец совпадают).
Если сложить нулевой и ненулевой вектор, каким будет результат? Правильно, он будет совершенно равен ненулевому вектору. Если из шести векторов вы оставляете ненулевым только один, то он и будет определять общее направление вашего движения.
Дальше. Каждая задача из портфеля, так или иначе, помогает или мешает каждому вектору, каждой из подцелей. Ну и, соответственно, помогает или мешает общей цели. Чтобы это было понятнее, представьте, что каждый проект — это тоже вектор.
Как сравнить два вектора? Методов вроде много, но нам надо что попроще, поэтому не будем мудрить — сравним сонаправленность. Если вектор цели и вектор проекта смотрят в одну сторону, то они сонаправлены, а если в разные — то разнонаправленные.
Но этого мало — мы будем только знак знать, плюс или минус. Еще нужна числовая какая-то оценка. Формально подходит угол, но с углами мы давно отвыкли работать, поэтому проще выражаться в процентах. Автор методики дал такую шкалу, чтобы не париться:
- 100% — проект сильно помогает в реализации вектора;
- 70% — проект нормально помогает в реализации вектора;
- 50% — проект слабо помогает в реализации вектора;
- 0% — проект никак не помогает в реализации вектора;
- -50% — проект слабо мешает реализации вектора;
- -70% — проект нормально мешает реализации вектора;
- -100% — проект сильно мешает реализации вектора.
Да, как видите, влияние проекта на целевой вектор может быть и отрицательным. Тут, благодаря наличию минусов, можно учитывать сонаправленность векторов. Плюс означает, что смотрят в одну сторону, а цифра уточняет — насколько в одну. Минус, соответственно, наоборот.
Ну, а дальше все просто. Каждый проект получает оценку по каждому вектору, или, как их называют в методе — фактору. Эти оценки — почти константы, даются один раз, корректируются редко.
А вот результирующий вектор цели корректируется так часто, как того требует ситуация. Разумеется, его можно и не трогать, и дружно топать в пропасть негибкости и отсутствия понимания реальной ситуации.
Результирующий вектор составляется, как банальный многочлен с коэффициентами влияния каждой переменной. На видео это делается с помощью регулировок эквалайзера — какие-то векторы обнуляются, какие-то наоборот, повышаются до предела. И в каждом сочетании факторов можно увидеть, какие проекты лучше всего подходят для данной ситуации.
Отдельно стоит отметить такие регулировки, как «функциональность» и «стоимость», т.к. они не входит в многочлен в виде отдельных факторов, но участвуют в расчетах всегда.
«Функциональность» — это общая оценка проекта по всем векторам, т.е. собственно то, что мы рассчитывали этажом выше.
«Стоимость» — это относительная стоимость выполнения проекта, заданная в произвольных единицах (рубли, часы, человеко-дни — не важно).
Так вот, функциональность и стоимость дают регулировку нулевого верхнего уровня, самую приближенную, когда надо определить исходя из баланса ресурсов и получаемой пользы.
Метаданные примера
Конкретно мои метаданные не являются определяющими, это просто вариант реализации. Но от них можно оттолкнуться. Конфигурация и демобаза лежат в репозитории. Это не готовые решения, это инструменты для разработчика. И да, они на 1С. Но это не важно — вы легко переделаете на свою платформу. На 1С ушла пара часов. На вашей платформе, наверняка, меньше.
Поток — справочник, разделяющий задачи или проекты на первом уровне. Теоретически, потоки не пересекаются. Например, задачи программистов, задачи сис.админов, стратегические проекты компании и т.д. В моих метаданных поток — это реквизит проекта.
Проект — справочник в моем случае, это главный носитель задачи. В вашем случае это может быть вообще объект метаданных типа «Задача» (если вы на ДО работаете).
Набор факторов — это те самые вектора, объединенные в группу. Формально это справочник с табличной частью «Факторы», для каждого из которых задается степень значимости для данного набора, от 0 до 100%.
Факторы — просто справочник факторов. Можно использовать одни и те же факторы в разных наборах, т.к. степень значимости у них может быть разная в разной ситуации.
Оценки по факторам — регистр сведений, содержащий значения оценок факторов для объекта. Значения оценок — это та самая степень сонаправленности, от -100 до +100%.
Strategic Equalizer — отчет, в котором выполняются все расчеты и выводится результат. Сейчас, для наглядности и хоть какой-то оптимизации, расчеты делаются в запросе, который лежит в модуле объекта отчета, а в СДК передается таблица с итоговыми приоритетами. Если вам эта красота с эквалайзером не нужна, можете просто взять запрос, вставить в СКД, и заменить таблицу-параметр «Факторы» на табличную часть «Факторы» справочника «Наборы факторов». Так оно и было изначально.
Цифры, которые выводит отчет, особого смысла не имеют — это некий результат некоего перемножения неких матриц. Важна лишь относительная разница этих цифр между проектами, она и определяет приоритеты.
Что с этим делать?
А что хотите.
Можно просто поиграться и забыть, так обычно и бывает с подобными инструментами.
Можно сделать инструмент основой в выборе приоритетов задач для вас или вашего отдела. Я такую практику проводил, это прикольно, особенно когда демонстрируешь толковым руководителям инструменты, объясняешь теоретическую базу, и наглядно демонстрируешь взаимовлияние факторов и проектов.
Единственное, что стоит отметить — система, по сути, никогда не даст вам решать откровенно бессмысленные задачи, они так и будут болтаться в конце списка. Поглядывайте, чтобы в этой мусорке не оказались задачи от важных людей — им надо объяснять, что задача — бред, и просить переформулировать. А если не получается, и люди важные, то можно завести отдельный фактор типа «Хрень, но сделать надо», и выделять под реализацию этого вектора, например, один день в две недели.
Ну, а можно использовать инструмент и методику так, как это было задумано автором — для выбора проектов инновационного развития предприятия, из общего портфеля, в соответствии со стратегией развития компании. Так я тоже делал.
Гадость
Ну, как без гадости-то. Вы никогда не будете пользоваться стратегическим эквалайзером. Он никогда не принесет пользы ни вам, ни вашему отделу, ни вашему предприятию. Вы будете жить, как жили. Хотя знаниями, конечно, немного обогатитесь.
Причина простая — ни вы, ни я, никто другой не умеет на 100% подчиняться самому себе.
Стратегический эквалайзер — это «я решил, что лучше делать вот так». Но «пофиг, что я там решил, делать я буду по-другому». Ну и выберете задачу по душе, а не ту, которую реально надо решать.
Я не ошибаюсь, можете не переубеждать. Раз вы сидите и читаете этот текст, то вы точно, абсолютно точно, не делаете то, что решили.
Хотя, может стратегический эквалайзер немного сблизит векторы «что надо» и «что делаю»? Это возможно, если на страдать юношеским абсолютизмом, типа «все или ничего». Научитесь следовать вами же разработанной стратегии хоть на 5% правильнее в этом году — это будет невероятная победа.
Я вот не могу, хоть и хочу. На 100% не могу, максимум на 30–50% получается. То живу с этим эквалайзером, то в гневе выкидываю его в топку. Но он, собака, не горит — снова достаю, настраиваю, и начинаю очередную попытку.
Может, у вас лучше получится?