Портянки

04.09.18

Архитектура

Приступаем к изучению flowcon.

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

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

У руководителя времени на ковыряние в отчете, увы, нет. По крайней мере, в рамках регулярного менеджмента. Ему нужна короткая, емкая информация, отвечающая на простой вопрос: как идут дела? Или по-другому: у нас все хорошо?

Как на такой вопрос ответить с помощью портянки? Да никак. Портянка как бы говорит руководителю: ты хотел информацию? Ну вот она. ВСЯ! Давай, разбирайся, и ищи ответ на свой вопрос.

Если руководитель докапывается до программиста со своей задачей, тот пытается «помочь». Например, делает отчет план/факт продаж. Красивый, удобный, настраиваемый. Там можно не просто сравнить план с фактом, а еще и факт с фактом за разные периоды, и вообще – любое количество таблиц. Что получается в итоге? Еще одна портянка, только более сложная.

Если снова докопаться до программиста, то он скажет: блин, возьми и настрой себе отчет, и сохрани настройку. Отфильтруй данные, выбери период, чтобы отображались только нужные тебе данные. Ну, как вариант, сойдет. Но только в том случае, если руководитель умеет настраивать. А если не умеет?

Ок, программист, скрепя сердце, и скрипя костями, настроит отчет сам. И скажет: все, на, подавись. Вслух не скажет, конечно, но подумает. Все, счастье наступило?
Нет. Во-первых, с первого раза не настроит – придется сбегать несколько раз. Либо писать хорошее, качественное тех.задание. А это, почти всегда, невозможно, потому что руководитель на берегу не знает, в каком виде ему нужен отчет.

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

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

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

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

В-четвертых, отчетов-то несколько получилось. Каждый отвечает на свой вопрос. Каждый надо открывать и смотреть отдельно. Один открыл, второй закроется. Максимум – сделал сплит-скрин и увидел два сразу.

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

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

А если отчетов три? Или четыре? Получается задница-с. Руководителю ничего не остается, кроме традиционного просмотра отчетов – одного за другим, на полном экране.

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

А в чем проблема-то? И есть ли она?

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

Такой подход хорош для разработчиков коробочных решений, потому что у них выбора нет. Они не знают, какую информацию и в каком виде захочет видеть конкретный руководитель, поэтому сами делают портянки + настройку.

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

Друзья программисты. Я тоже программист. Я тоже люблю делать портянки. Это просто, интересно, даже по-своему красиво. Но портянки не годятся для управления.

Я не говорю, что с вами, или с нами, что-то не так. Просто предлагаю порешать новую, интересную, инженерную задачу: рисовать маленький отчет.

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

Это невероятно интересно. И это все легко поддается алгоритмизации. Принцип очень простой – воронка «а что, если?».

Вот есть у нас план и факт продаж – отдельные таблицы с данными. Рисуем два отчета – план и факт продаж.

А что, если их объединить, и нарисовать сразу и план, и факт в одном отчете? Ну, уже неплохо.
А что, если свернуть до групп номенклатуры? Тогда отчет будет маленьким, хотя бы по высоте. 
Ок, делаем.

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

А что, если пересчитывать план на текущий день? Ведь мы вывалили в первый столбик весь месячный план, и факт его догонит только к концу месяца. В течение всего месяца, глядя на диаграмму, руководитель будет думать, что все плохо. Или ему придется в уме прикидывать, какая часть месяца уже прошла. Нет, давайте выводить не весь месячный план, а его часть. Десятого числа – одну треть, пятнадцатого числа – половину, и т.д. Тогда диаграмма станет понятнее и интереснее.

А что, если мы раскрасим столбики в зависимости от того, хорошо все или нет? Мы ведь знаем, хорошо план выполняется, или нет – надо лишь две цифры сравнить. Сделаем столбик красным, если все плохо. Желтым – если опасно. Зеленым – если хорошо.

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

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

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

А что, если ему не нужна информация по некоторым номенклатурным группам? Ну вот знает он, что не продаются они, и всегда будут или красными, или желтыми. Чего зря человека дергать ненужными сигналами? Убираем.

А что, если мы будем сообщать не перечень плохих групп, а одну строчку – все хорошо или все плохо? Зная важность конкретных номенклатурных групп, и общий план продаж, введем весовые коэффициенты и простенькую функцию, которая будет вычислять ответ на вопрос: у нас все хорошо? Неинтересным группам дадим коэффициент 0.1, интересным – 0.5 или 0.7, и все, получается у нас одна большая, красивая цифра. Если основная группа продается хорошо, то у нас все хорошо.

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

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

А что, если учитывать два фактора: и план/факт в конкретной точке, и динамику за последние дни? Оно ведь как бывает. Первого числа месяца сделали большую отгрузку – сразу 20 % месячного плана. И все наши диаграммы в течение шести дней будут показывать, что все хорошо. А на самом деле, у нас продажи встали колом – ни одной отгрузки почти неделю. С формальной точки зрения все неплохо, но мы же тут не для формальностей собрались? Руководитель должен знать, что менеджеры балду пинают, не удерживая динамику продаж. Для нас ничего сложного нет – мы просто в функцию добавляем еще одну переменную, динамику продаж, со своим весовым коэффициентом. И все, красота.

А что, если мы в нашей функции учтем не только план/факт продаж, но и план/факт движения денег? Выведем руководителю бесконечно прекрасную цифру, или человеко-читаемую строку – «все хорошо», «продажи хорошо, деньги – так себе», «продажи 120 %, деньги 90 %» и т.д.

А что, если…

Так можно продолжать до бесконечности. Главное – вовремя остановиться, и дать руководителю воспользоваться инструментом, привыкнуть к нему, сформулировать обратную связь. Я, как программист, понимаю – при решении задач по воронке «а что, если?» возникает неудержимое желание сделать проще, лучше, информативнее, полезнее. Надо уметь себя останавливать.

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

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

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

См. также

Кейсы автоматизации Платформа 1С v8.3 Энергетика и ЖКХ Россия Бесплатно (free)

Делимся опытом автоматизации учета башни раздачи воды.

27.12.2023    1772    0    slavik27    4    

15

Отчеты и дашборды Бизнес-аналитик Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Бесплатно (free)

Если вы привыкли выгружать бухгалтерские операции в Excel и дополнять их там управленческой информацией, вы сможете значительно сэкономить время, получая нужные управленческие отчеты в бухгалтерской программе сразу, без лишних движений. Представляем решение для самостоятельного внедрения управленческого учета в 1С:Бухгалтерии.

11.12.2023    1998    0    Serg_Tangatarov    2    

16

Архитектура решений Программист Бесплатно (free)

Рассмотрим применение архитектурной проверки задач в процессе разработки.

30.10.2023    4623    0    ivanov660    10    

33

Кейсы автоматизации Работа с требованиями Анализ бизнес-процессов Бесплатно (free)

Автоматизировать производственные процессы в 1С:ERP без доработки типовых механизмов очень сложно. А дорабатывать типовые механизмы 1С:ERP не всегда оправданно. Решением может стать технология разработки Рабочих мест, которая позволяет автоматизировать самые сложные участки последовательно – шаг за шагом, процесс за процессом. Расскажем о том, как помочь пользователям вводить большое количество данных, не нарушая порядок ввода и полноту заполнения всех необходимых реквизитов, и как вовлечь сотрудников Заказчика в разработку и тестирование функционала Рабочих мест.

26.10.2023    2345    0    user1754524    15    

17

Кейсы автоматизации Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

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

29.08.2023    3201    0    ke_almaty    0    

14

Архитектура Рефакторинг и качество кода Обновление 1С Программист Стажер Платформа 1С v8.3 Бесплатно (free)

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

10.08.2023    10401    0    1c-izh    37    

23

Кейсы автоматизации Внедрение изменений Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 3.0 Управленческий учет Бесплатно (free)

Стабильное качество выпускаемой продукции и ее соответствие нормативным документам (ТУ, ГОСТам, СМК) для активного предприятия является конкурентным преимуществом, так как оно подчеркивает, что на предприятии отлажены контрольные процедуры на входящее сырье, производство полупродуктов и готовой продукции, доставки. В своей практике я принимал участие во внедрении цифровых инструментов в сельском хозяйстве, где показателями зерна служат влажность, засоренность, крупность и т.д.; в металлургии — перед литьем в формы надо проверить сплав на содержания железа, алюминия, магния и т.д.; в кабельной промышленности в дополнение к физическим свойствам типа геометрии, длины, шероховатости, надо выдерживать и электротехнические показатели. 

22.05.2023    1666    0    Ingraf    0    

16
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. genayo 04.09.18 10:47 Сейчас в теме
Хорошо, когда постановщик задачи не знает, что он хочет. А когда хочет именно портянку, чтобы потом в ексель её, да так-сяк покрутить? Надо его переубеждать? Или аналитик, который хочет "покрутить" цифры в кубах...
2. 1c-intelligence 12825 04.09.18 11:00 Сейчас в теме
(1)
А когда хочет именно портянку, чтобы потом в ексель её, да так-сяк покрутить? Надо его переубеждать? Или аналитик, который хочет "покрутить" цифры в кубах...

в статье речь про руководителей, а не про аналитиков.
5. genayo 04.09.18 11:40 Сейчас в теме
(2) Так аналитики предоставляют отчёты руководителям. Не барское дело - самому руководителю по 1С-кам и прочим фигням шариться...
zqzq; pm74; FreeArcher; +3 Ответить
7. 1c-intelligence 12825 04.09.18 11:43 Сейчас в теме
(5) о том и статья. Зачем нужен аналитик в этой цепочке? Если речь о ежедневных отчетах.
Зачем руководителю по 1С-кам шариться? Если можно в смартфоне на одном экране все увидеть.
9. genayo 04.09.18 11:45 Сейчас в теме
(7) Чтобы руководителю не напрягаться, конечно. И чтобы программисту не придумывать, как из цифр максимально полезную информацию извлечь.
3. 1c-intelligence 12825 04.09.18 11:03 Сейчас в теме
(1) важно уметь делать не только портянки. У портянки своя цель, она решает одни задачи, но не все.
6. genayo 04.09.18 11:43 Сейчас в теме
(3) Вот в 1С Документобороте максимально универсальные отчёты, которые можно настроить до необходимого минимума, и в автоматическую рассылку впихнуть. С диаграммами, итогами и отборами.
8. 1c-intelligence 12825 04.09.18 11:43 Сейчас в теме
(6) да, только там данных о продажах нет.
10. genayo 04.09.18 11:47 Сейчас в теме
(8) А в ERP есть. Принцип тот-же - универсальная "портянка", и крути её сколько хочешь.
11. 1c-intelligence 12825 04.09.18 12:02 Сейчас в теме
(10)
и крути её сколько хочешь.

скорее "и крути ее, если хочешь"
12. genayo 04.09.18 12:09 Сейчас в теме
(11) Ну да, чаще всего так :)
4. Timur.V 79 04.09.18 11:07 Сейчас в теме
Руководитель захочет смотреть отчеты удаленно, через интернет. Желательно – со смартфона.

Со смартфона можно смотреть графики,
а табличные отчеты для смартфона могут превратиться в Топ-10. Т.к. много не покажешь.
13. Nio 71 04.09.18 13:28 Сейчас в теме
Эх а у меня руководители хотя портянку. Сегодня только закончил в один отчет добавлять 30 колонок. Изначально сделал одну где было все консолидировано.
15. alex-l19041 8 04.09.18 14:51 Сейчас в теме
(13) это круто из ОДНОЙ колонки сделать 30!
19. Hans 3 05.09.18 07:39 Сейчас в теме
(13) Напихал все в одну колонку и как это все анализировать? Вот твой отчет изначально видимо и был портянкой.
20. Hans 3 05.09.18 07:40 Сейчас в теме
(13) Скриншот покажи до и после.
28. Nio 71 06.09.18 14:55 Сейчас в теме
(20)
Вот.
То что стало я не представлю как должно выглядит. Настраиваем. Видимо процесс на несколько месяцев
Прикрепленные файлы:
29. Hans 3 06.09.18 15:41 Сейчас в теме
(28) а где то что было "По Белокаменцеву".
14. starik-2005 3060 04.09.18 13:31 Сейчас в теме
Нет предела совершенству, при этом любой вопрос в предельной сути - это вопрос на "Да" и "Нет".
pm74; alex-l19041; +2 Ответить
16. JohnGalt 58 04.09.18 15:04 Сейчас в теме
Непонятно, почему руководитель должен или хочет, чтобы работу по настройке и оптимизации отчетов сделал программист? Конечно, если им больше делать нечего и других сотрудников нет (консультантов, аналитиков, продакт оунеров, PMO) тогда можно и программиста понапрягать и свое видение бизнеса передать, и отчетов в частности. У программистов пока навыков ясновидения не наблюдалось, чтобы оптимально для каждого человека (а тем более для руководителя) делать заточенный индивидуально продукт, и чтобы сразу и без доработок. И желательно на вчера.
17. pm74 201 04.09.18 21:53 Сейчас в теме
(0) ну если система сама все умеет и знает , может и решения принимать (читай руководить) тоже будет
сама ?
18. vcv 89 05.09.18 01:42 Сейчас в теме
Какой-то у вас руководитель пассивный. Сидит и ждёт, когда ему система СМСку пришлёт с одной строчкой информации. А еще, желательно, фамилией сотрудника, которого нужно вые... простимулировать.
21. genayo 05.09.18 07:59 Сейчас в теме
Пока одни "клепают" отчеты, другие делают вот такие крутые штуки https://habr.com/post/422151/ :))
22. PLAstic 295 05.09.18 10:33 Сейчас в теме
Хочется спросить автора: а ты сам вообще писал отчёты?
1) Отчёт с кучей аналитики позволяет настроить различные варианты в одном отчёте, оставив только нужную аналитику.
2) Отчёты на СКД изначально включают в себя функции группировок, фильтрации, сортировки и прочего, что перечисляется в статье как "а потом он захочет".
3) Програмист делает такой результат, какой ему сказали сделать. Если сразу дали нужную руководителю форму - именно её он и получит.
4) Если программист работает стиснув зубы и делает на работу "на отвали", то гнать такого программиста.

Статья выполнена по схеме "сначала создаём проблематику, потом предлагаем её решение". Но для специалиста видно, что проблематика надуманная. Написал бы просто "а вот ещё один вариант отчётности", без сгущения красок.
23. erazer 7 05.09.18 11:34 Сейчас в теме
"Работает - не трожь", тем более когда руководитель сам не знает чего он хочет.
24. profiprog1c 250 05.09.18 11:42 Сейчас в теме
Статья - очередное ведро воды. Да и цель автора этих статей, как он сам как то тут писал в комментах, набить плюсики в рейтинге. По сути, по его же словам, и статьи он начал писать именно для этих целей. Эту статью также не смог прочитать до конца, застрял на половине.
user746911; echo77; Soloist; PLAstic; Hans; +5 Ответить
25. Hans 3 05.09.18 12:07 Сейчас в теме
(24) Думаю автор скоро какой нибудь платный курс выпустит типа "как стать успешным".
26. unpete 576 05.09.18 16:04 Сейчас в теме
(25) А вы, на пару с профипрогом1с, первыми за этот курс заплатите.
rpgshnik; 1c-intelligence; +2 Ответить
27. profiprog1c 250 05.09.18 16:08 Сейчас в теме
(25) Да)) У него даже есть своя "история успеха", ускорение х4. Он даже книгу пишет)))
30. dumsik 35 08.09.18 06:37 Сейчас в теме
Дельные вещи написаны в статье, но у меня как у программиста сразу возник вопрос по реализации. Для формирования таких управленческих отчетов в информационной системе будет необходимо создавать "обвязку" из метаданных которые будет подсказывать как сворачивать/скрывать/выводить данные в отчете, чтобы все было информативно. Допустим вот Ваш пример с новым оборудованием "Как определять что оно новое, когда и как оно переходит из состояние новое>-текущее". Если допустим определять это по каким-то реквизитам номенклатуры, кто их будет изменять в будущем?. В общем может сложится ситуация при которой пару месяцев отчет будет показывать все правильно, а потом из-за неизбежного устаревания НСИ станет просто показывать погоду. В общем встает вопрос кто будет поддерживать НСИ для таких отчетов в актуальном состоянии, ведь не программист же должен это делать.
Оставьте свое сообщение