Айсберг, кейсы

Несколько примеров применения принципа «Айсберг».

Сам принцип изложен в статье. Но многие мне писали, что не хватает примеров. Исправляюсь.

Приведу несколько примеров использования Айсберга из своей практики.

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

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

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

Аналогичная ситуация, с непонятной длительностью, возникает, когда исполнитель сделал работу, и отправил инициатору на проверку. Когда он там проверит – не известно. Любой приличный программист, работающий напрямую с конечным пользователем, подтвердит – задачи очень часто зависают на проверке. Причем, физически она может быть уже проверена, пользователю все нравится, но он не удосуживается зайти в систему и сделать отметку.

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

Мой любимый пример – закупки. С задачами все просто – там всегда есть некий объект, в котором эта самая задача записана, и можно к этому объекту добавлять поля, хранящие данные о длительности состояния.

А закупки – это поток. Там никто, в здравом уме, не будет ставить никаких отдельных задач. Ну сами представьте – сидит девочка, заказывает втулки. Каждый день. Одни и те же втулки. А еще валы, болты, гайки, металл, поковки, штамповки и т.д.

Есть только информация о том, что нужно заказать. Да, она бывает разного уровня детальности – иногда просто перечень номенклатуры и количеств, иногда – в разрезе получателей, контрагентов, заказов, подразделений и т.д. Но эта информация всегда мгновенная, как вспышка. Зашел – видишь, надо 1020 штук заказать. Через минуту зашел – ого, уже 1200, потому что ситуация изменилась.

Снабженцы это понимают, и пользуются в своих интересах. На совещаниях, разборах и оперативках до закупщиков часто пытаются докопаться, но с них, как с гуся вода. Говорят им – э, ребята, а чего втулок не хватает? Так это вчера только потребность возникла! – отвечают те. Как вчера? Ну так, вчера. Клянусь, вчера утром заходит в дефицитку, там не было втулок!

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

Но от такой бумажки легко увернуться. Снабженцы говорят – чего вы мне тут подсовываете? Да, в понедельник не хватало втулок, ну так и что? Уже во вторник их было столько, что всем бы хватило с избытком! А то, что вы видите в системе сегодня, возникло только вчера.

Их потом тоже заставляют участвовать в бумажных делах – не просто печатают дефицитку, а еще и дают снабженцам на подпись. И сроки поставки просят проставить. Сами понимаете, процесс по эффективности – сильно так себе.

Принцип Айсберг работал в задачах, но не работал в снабжении. Продавцы понимали, что надо что-то делать, и стали-таки ставить задачи закупкам – прям создают объект, к нему прикладывают перечень позиций, и ждут исполнения. Сначала стало получаться, потом снабженцы начали тупо отклонять такие задачи, с комментарием типа «не надо нам ставить отдельные поручения на нашу рутинную работу». В общем, правильный комментарий – если на каждый чих ставить задачу, то и уборщиц придется подключать к системе.

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

Если надо было, например, 100 втулок, а снабженец заказал 70, то автозадача не закрывается, а просто корректируется – теперь надо разместить 30 позиций. Что важно – дата начала негативного состояния, т.е. дефицита, остается прежней. 70 позиций человек заказал за один временной интервал, а 30 – за другой.

С применением Айсберга проблема очень быстро решилась, потому что скрыть уже ничего не получалось. Во-первых, учет длительности дефицита ведется в разрезе позиций и количеств, во-вторых – с привязкой к исполнителю. Тут же, разумеется, родился некий KPI для снабженца – какой процент позиций он заказывает в срок (кажется, он должен был в сутки уложиться, с момента возникновения потребности).

Хорошо ложится Айсберг на бухгалтерию. У тех ведь как – постоянно где-то что-то не так. Отрицательные остатки присутствуют, по самым разным счетам, или по ненавидимым ими регистрам. Авансы не зачитываются, несмотря на применение восстановления последовательности расчетов. Не говоря уже о суммовых остатках без количества, и наоборот.

В обычном состоянии системы, без Айсберга, докопаться до бухгалтерии сложно. Единственный способ доказать, что минусы висят уже месяц, это бэкап. Но они тоже не дураки – скажут, что да, месяц назад были минусы, потом мы их убрали, а сейчас опять вылезли, это вы, программисты, чего-то напутали. Если снабженцы просто отмазываются, не перекладывая проблем на других, то бухгалтеры давно придумали – не знаю, осознанно или нет – такой метод, как искусственный цейтнот.

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

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

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

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

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

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

Решение проблемы – аналогичное снабжению. Делаем автозадачу на каждый вариант косяка – например, вычисляем и показываем минусы в оборотке, ставим ответственного и, главное, дату возникновения задачи, чтобы получился Айсберг. Теперь, как только минус возник, появляется автозадача, и ее можно использовать как аргумент в спорах.

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

Еще Айсберг прям просится в любые процессы, где есть согласование. Заявки на расходование денежных средств, договоры, спецификации, бюджеты, планы, выдача спец.одежды и так далее, до бесконечности.

Бюрократы любят согласования, но не как процесс, который надо делать, а как процесс, который можно бесконечно затягивать. Наивный программист, которому поставили задачу добавить в договор согласование главбуха или финансового директора, поступает просто и незатейливо – добавляет в этот самый договор некое поле, типа «Согласовано». Он не знает про Айсберг, поэтому обрекает процесс согласования договоров на медленную и мучительную смерть.

Динамить согласование будут до бесконечности, если договор – какой-нибудь не очень значимый, и не находится в поле зрения директора. А инициаторам договоров ничего не останется, как бегать периодически к главбуху, чтобы узнать, когда произойдет-таки великое таинство.

Айсберг решает проблему сразу и быстро. В данном случае достаточно знать две даты – когда отправлено на согласование, и когда оно состоялось. Длительность состояния несогласованности в этом случае вычисляется элементарно, и можно это время банально нормировать.

Я так делал с согласованием договоров, где цепочка состояла из нескольких людей – руководителя подразделения, финансиста, бухгалтера и юриста. Каждому были отведены сутки на согласование, и Айсберг довел процент попадания в этот срок до 90 %.

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

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

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

12 Comments

  1. pm74

    (0) спасибо почитать было интересно

    Reply
  2. Asmody

    Хорошие примеры, дельные. Главное, есть что возразить 🙂

    Создается впечатление, что основной задачей автора является сбор доказательной базы, чтобы «глистов гонять» и бочки на совещаниях от себя откатывать.

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

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

    С остатками тоже можно построить схему в упр.учете, когда «минусы» будут консолидироваться в одном месте на короткий промежуток времени, и их не нужно будет ловить по всей оборотке. Там, правда, одной автоматизации мало, нужны еще волевые решения.

    Reply
  3. pm74

    ба ! за слово интересно в теме Белокаменцева сразу плюс и минус

    интересно кого больше хейтеров или фоловеров

    так , экспресс опрос — плюсуем / минусуем сюда

    по сабжу , есть с чем поспорить , но в целом понравилось

    Reply
  4. genayo

    (2) Потребности за неделю при позаказном производстве? Нет, это фантастика.

    Reply
  5. pm74

    (4)

    Нет, это фантастика.

    почему ?

    Reply
  6. genayo

    (5) Да, надо было уточнить — если цикл производства меньше недели :))

    Reply
  7. pm74

    (6) цикл или срок поставки ?

    Reply
  8. genayo

    (7) Цикл. Срок поставки гибче обычно.

    Reply
  9. pm74

    (8) запутались в терминах имо , и я немного затупил

    есть 1) цикл производства , 2) склад комплектующих 3) срок поставки комплектующих 4) дата отгрузки клиенту

    задача снабженца — это 2 и 3 , тут можно комбинировать mto , mta

    Reply
  10. genayo

    (9) Ну да, многие в УПП пишут свой автозаказ по планам продаж.

    Reply
  11. Silenser

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

    Reply
  12. acanta

    Видите ли, бизнес процессы, расписанные по блок-схеме алгоритмов и список задач текущего пользователя — это как бэ проекция четырехмерного пространства — времени на одномерный объект (линию пользователя, на которой точками отмечены его задачи). А пользователи хотят хотя бы нечто двухмерное, как ексель. Вроде календаря-планировщика, чтобы задачи, срок выполнения которых пока не наступил, тоже были видны, а те что уже просрочены можно было либо подвинуть либо отправить в корзину (или восстановить из нее).

    В скраме есть например бэклог. Это список задач, из которых заведомо будет выполнено не более 80%. Примерно такое же для всего. Или хотя бы как в чатах, по целям/источникам задач.

    100% исполнение возможно только у бухгалтеров, которые отчетность подают.

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

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *