Министерский бюджет

Материал из Eludia
Перейти к: навигация, поиск

Содержание

Синопсис

Дано: 350 подведомственных учреждений Министерства и 35 миллиардов денег на будущий год.

Требуется: составить силами 10 кураторов общую смету по 300 статьям расходов и обеспечить её исполнение. Каждую копейку обосновать на базе текущих директив сверху и отчётов за 2 прошедшие года.

Сбор заявок

"Вот" – шлёпнул менеджер Чёртов на стол пачку грязноватых косых ксер – "это надо за неделю". Смотрелось серьёзно. На каждом листе была изображена форма обоснования годовых расходов на те или иные нужды: пустографка со своими оригинальными строчками и столбиками. Местами – по две. На первый взгляд, простенькие, но уж больно все разные. Дмитрий пересчитал таблицы. Число 40 смахивало на символ гнева господня.

Закладывать меньше часа на экран было совершенно абсурдно. Дмитрий давно знал, что час – это физиологически обусловленный предел. Ну ладно, 40 часов – вроде бы как раз неделя. Но ведь "счастья"-то никто не отменял. Как и прочих горящих проектов. "Там будет ещё зарплата – это примерно столько же", – менеджер Чёртов, улыбаясь, как бы украдкой показал ещё одну распечатку с чем-то до безобразия многомерным – "но это уже на следующей неделе".

Тяжкая обуза под видом большого послабления исключительно по дружбе – Дмитрию этот манипулятивный приём был отлично известен. Но менеджер Чёртов использовал его только на публику, а в действительности играл определённо тоньше. Он метил в основное уязвимое место каждого человека: амбицию. Надо только изучить, гением чего именно мнит себя объект – и тогда он весь ваш. И Дмитрий, сделав серьёзное лицо и отчасти как бы даже усмехнувшись по поводу того, как достоверно ему удалось обосновать невыполнимость неизбежного, однако в то же время в глубине души ощущая себя мелкой фишкой в непонятной ему игре, разложил ворох оттисков у себя на столе и принялся блуждать глазами по таблицам.

Итогом недолгой медитации стало конкретное предложение: вместо 40 форм быстро реализовать один универсальный конструктор и предоставить всем желающим возможность определять интересующие их формы отчётности самостоятельно. Начало предложения ("быстро / универсальный") менеджера Чёртова определённо заинтересовало, однако конец ("определять / самостоятельно") ему понравился гораздо меньше. По счатью, именно тогда на работу в Институт пришла СуперМарина: новый проект оказался как нельзя более кстати.

Итак, Дмитрий в течение дня изготовил конструктор, и СуперМарина тут же начала переводить распечатки в объекты базы данных. Разумеется, первая версия не была окончательной: по ходу дела выяснялось, что для некоторых форм набор элементов узковат – тогда Дмитрий добавлял новые детали. Во всяком случае, итерационный процесс сошёлся в очерченный срок без особого аврала, к тому же все данные оказались представленными единообразно, да и программный код получился достаточно компактным.

Одна только форма пришлась поперёк модели: "расходы на питание". Там требовалось составить столовские меню (в граммах и миллилитрах) на следующий год, а также спрогнозировать, почём рыба и тому подобное. Ну что ж: одна – это не так много. Правда, она была готова через неделю (прочие текущие дела подпёрли) – но за это время операторы в регионах только-только начали ориентироваться в системе.

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

Позже появились ещё "сетевые показатели": данные статистической отчётности, связанные с заявками, но сами по себе не являвшиеся запросами на конкретные суммы. Их удалось более-менее просто реализовать по аналогии с зарплатными формами. Тут выяснились забавные вещи: совершенно идентичные показатели могли пересчитываться и проверяться по-разному в зависимости от предметной области (учение или лечение). Дело было, конечно, не в разделах сметы как таковых, а в личностных особенностях соответствующих кураторов. Но СуперМарина оперативно уточняла пожелания заказчиков, а Дмитрий спокойно устанавливал для ирландских китов π=3.12. Приближалось лето.

Смета

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

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

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

Поначалу Дмитрий думал: всё, что было весной, оказалось каким-то до крайности унизительным спектаклем. Зачем, в самом деле, было агрегировать в центральной базе планы командировок и прогнозы цен на картошку по всей стране, если в конце всё свелось к домножению на эмпирический коэффициент? Однако это действие понадобилось лишь для первого приближения.

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

Г-жа Криогенова имела все основания не доверять кураторам. И она действительно не доверяла им. Собственно, такие же отношения складывались в департаменте и в прошлые годы. Однако новым было то, что теперь привилегированный пользователь системы имел полную возможность в реальном времени отследить, кто когда сколько кому прибавил и откуда эту сумму взял – вместо того, чтобы ждать последнего момента, когда поступят непроверяемые эксцельные распечатки.

Контроль над кураторами – это была не какая-то отдельная функция системы, а сквозная тема огромного множества доработок, запросы на которые поступали (и исполнялись) практически ежедневно: изменения прав доступа, новые проверки и блокировки, дополнительные отчёты.

Кончилась вёрстка бюджета оригинально: в одно морозное ноябрьское субботнее утро г-жа Криогенова пришла в офис вместе с двумя верными ей секретаршами и полностью переписала распределение средств, после чего заблокировала ввод данных. Дмитрий в это время дежурил неподалёку от сервера, а СуперМарина обеспечивала поддержку пользователей. Впрочем, проблем в тот день не возникло.

Апофеозом всего была распечатка окончательной версии бюджета. Эти 500 листов формата A3 ариалом 8-го калибра должны были быть преподнесены на подпись только что назначенному Главному в первый день его работы в новой должности – ровно после корпоративного нового года Министерства и Института одновременно. СуперМарина, заглянув в систему, заметила противоречие в цифрах. По счастью, ошибка присутствовала только при отображении на одном из промежуточных экранов, на бумаге же всё было правильно. Дмитрий в тот день весьма предусмотрительно не отправился праздновать за город – чувствовал, что позвонят обязательно.


History.gif Это статья по истории. Она не имеет ни малейшего практического смысла.
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Разработчику
Администратору
Инструменты