Legacy и нелинейная продуктивность

 Публичный пост
23 января 2023  226

Интро

На рассуждения ниже натолкнула "стандартная" проблеме в мире IT - разработка нового vs поддержка существующего. В некотором смысле, она подобна проблемы баланса задач разного цвета для индивидуального перформанса.

Рост или sky is the limit

Самая примитивная модель производительности говорит, что за один и тот же отрезок времени t выполняется один и тот же объем работы x, что можно условно записать как

dx = dt,  x (t)= t

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

Можно попробовать смоделировать это следующим образом

dx = dt / sqrt(x),  x (t)= 2 sqrt(t)
  • Производительность падает с объемом выполненной работы, разница лишь в скорости замедления.
  • Решением является функция, которая бесконечно растёт, не ограничена сверху.

Растущее легаси или пределы роста

Наивный подход, который моделирует влияние легаси, исходит из двух предположений

  • чем больше сделано, тем больше сил тратится на поддержку с коэффициентом пропорциональности, допустим 0,01
  • поддержка осуществляется из общей производительности

приводит к следующему уравнению

dx = (1 -0.01x) dt,  x (t)=100 (1  - exp(-0.01t))

Давайте, посмотрим как ведет себя решение.

"Линейное" начало


"Небольшое замедление" в середине

И "насыщение" на бесконечности

Особо стоит отметить

  • Прогресс всегда есть, инкремент всегда положительный
  • При положительном прогрессе отметка в 101 не будет достигнута никогда

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

Вместо заключения

Мы всегда так работаем, и смотрите чего достигли ! Мы всегда показываем прогресс! Просто не хватило пары спринтов!
Путь маленьких шагов может сойтись в точку, и Ахиллес никогда не догонит черепаху.

Связанные посты
2 комментария 👇
Dima Yanter Technology Manager автор 23 января 2023

В IT проектах, количественные: постоянный рост техдолга, замедление релизного цикла, - качественные: рассказы разработчиков как неделями провели на SL3 и фиксили прод, сложность анализа и изменений в стиле 3 недели думали, как изменить одну строку кода.

В личных, рост количества повторяющихся задач и увеличение красных vs зеленых.

  Развернуть 1 комментарий

Интересно, а как нелинейная продуктивность воплощается в жизни?

  Развернуть 1 комментарий

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб