Разработка
January 15, 2024

Приоритеты обработки

Разбирали недавно с ребятами схемы партионного учета. Это в торговле, когда товары пришли, товары ушли. Область занимательная (зря я что ли в 1С сертифицировался с 2007?), статей и даже книг множество, детали дам.

Сначала необходимый референс, как это работает.

Пришли к вам на склад товары. Вы их с этого склада куда-то деваете, продаёте обычно.

Хвосторезы пришли по 10 руб/шт, десять штук, продали пять по 20 руб. Итого по средней себестоимости у нас ушло 5×10=50 руб товаров за 5×20=100 руб в кассу, висит остаток на 5×10=50 руб по себестоимости.

Мы брали любые товары со склада, потому что они одинаковые, и себестоимость одинаковая у них, ровная.

Теперь представим такой пример.

Хвосторезов пришло 5 штук по 10 руб/шт, и 5 штук по 15 руб/шт.
Продавать будем всё еще по 20. Надо продать пять.
Какие товары мы будем продавать в первую очередь?

Можно продать первые, дешевые. Тогда у нас ушло 5×10 = 50 руб товаров, 100 руб в кассу, остаток уже другой, 5×15=75 рублей

Можно продать «любые». Вперемешку они лежали. Тогда считаем среднюю себестоимость товара, 12.5 руб, ушло 5×12.5=62.50 руб, осталось также 62.50 рублей на остатках.

Даже если товары реально одинаковые, для нас (продаванов) важно, какие мы первыми спишем. Потому что с первых мы имеем 10 руб прибыли, а со вторых только 5 — дороже закупали.

Соответственно, вот эти две схемы учета и расчета — «по среднему» и «раньше пришло, первым продали», сиречь AVG и FIFO, считаются основной товарного учета, и большинство знают только их — а о других и не в курсе, пока не припрёт.

Немножко расширенных деталей еще приведу в конце, а пока вопрос:

— как это всё относится к нам, и к управлению разработкой?


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

Не важно, по сути, как вы определяете «с чем работать первым».
Но крайне важно, чтобы этот механизм был у вас описан (в основных документах), и любой человек, включая вас самих, мог его придерживаться наглядно и прозрачно.

Что используется чаще всего:

  • приоритеты "срочность + важность". Срочное и важное сначала (по сроку), затем важное-несрочное, затем срочное-неважное, остальное умирает в беклоге. Иногда срок в приоритете (а важность всплывет сама, если загорится).
  • по мере поступления и явному приоритету. Делаем всё что прилетает, если сказали "вот это срочнее всего", ставим в топ. Так обычно контракторы внешние работают.
  • оценка severity по таблице. Похоже на первый вариант, но переменных больше, и выбирается (обычно) максимальный уровень воздействия на процессы, из ряда заданных факторов. Очень любят в QA и SRE, можно подсмотреть вялый пример тут https://github.com/avito-tech/playbook/blob/master/spt.md
  • явная количественная оценка: в баллах, пойнтах, нецензурных выражениях (d'oh!s per task) итп.

Повторюсь: не важно, какую модель работы вы выберете из доступных, или изобрётете свою. Важно, чтобы она у вас была.

Такой подход дает ответы на два актуальных вопроса:

  • что пойдет в работу
  • почему это оценено именно так (= как именно это было оценено)

Для референса: какие бывают дальше (в учете, в товарке) схемы продаж и учета себестоимости

Аббревиатуры относительно устоявшиеся, хотя бывают отличия.
От простых, частых, к замороченным.

  • AVG по среднему: обсудили. Всё вперемешку.
  • FIFO, first in first out, первым пришло первым продали, обсудили.
  • LIFO, last in first out, последним пришло, первым продали. Такое встречается у крупногабаритов (проще на складе доставать) и в некоторых дилерских схемах, когда важно насытить рынок именно последними актуальными-обновленными товарами, а устаревшие потом отдельно актуализировать или вернуть/списать.
  • XIFO, eXpired in first out, протухающее продается первым. Очевидно, в потребительских товарах со сроком годности. Появляется параметр, срок годности.
  • WIFO, Warehouse in first out, первым растоваривается заданный склад. Обычно тот склад, на который товар пришел — чтобы не гонять логистику. Параметр, соответственно, склад.
  • SIFO, или СIFO, Set in first out / Complete in first out, тут бывают разночтения в буковках. Когда нам выгоднее пришедшую партию или комплект продать целиком — например, связано с упаковкой или местами хранения — а не бить комплектацию поштучно. Для отгрузки в 10 единиц выгоднее посмотреть, есть ли 10 сразу, затем например 5+5, а если нет, то набирать 5+2+1+1. Если у вас приходы паллетами/вагонами, то проще так и отгружать, чем разбирать вагоны/паллеты с затратами, и что-то неизбежно просрать по инвентарке.
  • SFIFO, Shipment first out — как с комплектами, но целиком уходит товарная партия (связано с ГТД и таможенной очисткой), и целое/кратное количество товарных партий, по возможности. Связано с тем, что на товары должны быть приложены копии документов таможенной очистки, и чем меньше в отгрузке товаров из разных партий, тем меньше всем потом геморроя

Это самые простые схемы. Как можно заметить, при усложнении появляются параметры, которые нужно учитывать, при формировании списания. По выбранной схеме (схемы могут быть одновременно разные по товарам, по складам итп).

Дальнейшее развитие идеи называется параметризованный партионный учет, это для больших мальчиков (типа сетей или маркетплейсов, где всё и сразу) — и выходит за рамки статьи.

И там появляется механизм планнера/графикователя, который как раз решает задачу «что когда куда пойдет», потому что логика усложняется. Учитывает все опции, плюс затраты на само планирование и логистику, а таковые неизбежно появляются. Решает задачу оптимизации.

В айтишке тоже существует — см например от Группы НЛМК как у них сделано, https://habr.com/en/companies/nlmk/articles/757384/ по задачам и производства, и процессов:

НЛМК, "Как оптимизирован завод", 2023

В оценке задач, ваш параметр — как раз срочность, важность, актуальность, импакт и все остальные.

Сферы разные, а механизмы подходящие, можно осмыслить и применить к своим процессам.