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

Хотелось бы начать сегодняшнюю тему со знаменитой фразы Фреда Брукса, выдающегося ученого и отца IBM System/360.
“Деторождение занимает девять месяцев, независимо от того, сколько женщин к нему привлечено.
В логике работы завода есть предсказуемость – через заданные промежутки времени по конвейеру проходит готовое изделие, и если мы хотим увеличить выпуск продукции на определенное количество, достаточно добавить ещё смен или поставить новые станки. Модель «затраты-результаты» сформировал менеджмент XX века, по которому мы привыкли замерять эффективность труда.
Работа айтишника серьезно отличается от конвейерности, и создание кода (основного продукта) как таковое занимает далеко не основную часть времени кодера. Попытки измерить эффективность разработки через количество коммитов или отработанных часов как минимум математически ошибочна, и не применима в мире ИТ.
На заводе время проведенное без стука по клавишам воспринималось бы как простой или низкое КПД. Однако самый большой труд айтишники производят не в момент написания кода, а при анализе, чтении контекста и поисков оптимального решения. Каждая задача в ИТ по своей сути уникальна, и если даже разработчику нужно сделать одну и ту же работу дважды, он просто автоматизирует процесс: превратит его в скрипт или библиотеку. А значит любую задачу в бэклоге можно отнести к микроисследованиям (R&D).
Промышленность против информации
Большинство кабинетов класса обществознания в школах оборудованы баннерами с отображением трёх эпох: аграрной, индустриальной и постиндустриальной. Последняя относится к информационной эпохе, в которой мы сейчас и находимся, и подход к труду внутри неё разительно отличается от индустриального, где правят станки.
Если у нас есть 10 токарей, которые точат одинаковые болты, они способны работать с максимальной степенью автономности: им не нужно обсуждать архитектуру каждого болта или проверять, не конфликтует ли их резьба с резьбой соседа, и в этом индустриальному подходу к производству нет равных.
“В случае работы с информацией каждый работник и плоды
его труда – часть экосистемы, и действия любого члена команды влияют на весь «организм» проекта.
Условное изменение в одном модуле разработки неизбежно повлияет на десятки других модулей. Ещё сложнее ситуация когда в команду приходит новый разработчик: вместо того, чтобы стать дополнительным станком, он замедляет весь процесс из-за онбординга и вникания в контекст. Очень часто меняются сами условия задачи по ходу её выполнения, сами задачи не до конца ясны на старте, а результаты уточняются в процессе. И тут уже не получится считать обычные меры продуктивности.

Исторически замер человеко-часов ввёл Фредерик Тейлор*: грубо говоря примерно сто лет назад он придумал разделять сложные задачи на простейшие движения, регламентировать их и замерять секундомером: на практике его идеи идеально реализовал Генри Форд, который показал всему миру как должно работать конвейерное производство.
Через полвека, появился Питер Друкер**, который ввёл понятие работника интеллектуального труда: у него, в отличие от Тейлоровских работяг, вместо станков есть собственные средства производства – в его же голове.
Проще говоря на заводе менеджер говорит сотруднику что делать, а в интеллектуальном труде сам работник должен определять в чем заключается его задача и каков наиболее эффективный путь к достижению цели.
Основной конфликт ИТ-проектов в том, что сетку Тейлора натягивают на мир Друкера. Когда руководство требует график сгорания задач или измеряет продуктивность количеством строк кода, оно неосознанно ведет разработчика к станку. При этом программный код не физический объект, а буквально формализованная мысль. Замерять мысль в единицах объема – не самая лучшая идея.
Можно без конца оптимизировать и экономить на производстве, но чаще всего в разработке попытки поднажать и ускорить написание кода ведут к падению качества продукта – неделя экономии может обернуться месяцами исправлений: в отличие от брака токаря (который можно выкинуть в урну и выточить нормальную деталь), брак в архитектурных решениях может ударить по работе всей системы.
Невидимая зона
Jira, GitHub или даже Agile-метрики не могут зафиксировать основную часть работы айтишника – в среднем разработчик тратит примерно 20% на написание самого кода. Что же тогда делает айтишник остальное время?

Читает контекст
Код нельзя сравнить с текстом этой статьи – изолированным и понятным самим по себе. Код это плотное переплетение зависимостей, и прежде чем внести изменение в одну функцию нужно понять десятки смежных модулей: т.е. чтобы внедрить новую фичу нужно потратить немало времени чтобы понять, как не нарушить целостности экосистемы.
Проверяет гипотезы / ментальное моделирование
Разработке не чужды готовые решения, и очень часто их поиск и удачные внедрения экономят недели, а то и месяцы разработки. Кроме того, чтобы внести изменения в проект приходится постоянно прогонять потенциальные последствия: «Что если отключится сеть» или «Если пользователь введет отрицательное число».
Держит когнитивный поток
Существует довольно известное исследование Глории Марк о взаимодействии с технологиями: согласно ему после любого внешнего прерывания контекста мозгу требуется порядка 23 минут, чтобы восстановить сложную ментальную конструкцию (что и представляет из себя разработка). Выходит, что в ИТ даже быстрый вопрос в мессенджере может стоит пары часов реальной работы.
Ценность работы айтишника рождается в периоды глубокой концентрации, когда перед его головой открыта вся картина разработки.
Исследовательская суть рутины
Разработку можно назвать балансом между использованием готовых решений (exploitation) и поиском новых путей (exploration). Когда заказчик требует «сделать так же, как в прошлый раз», он не учитывает, что контекст продукта изменился: старое решение вполне может конфликтовать с новыми модулями, требовать иных мощностей сервера или не соответствовать обновленным протоколам безопасности.
Поэтому разработчик тратит время на рутинное изучение документации, чтобы снизить энтропию системы, предотвращая превращение продукта в хаотичный набор костылей.
Рутина как термин в контексте ИТ глубоко обманчивое определение.
Любое, даже типовое изменение в коде почти всегда содержит в себе элемент разведки. Разработчику нужно в первую очередь выявить первопричину дефекта, восстановить в голове логику работы конкретного участка системы, и как говорилось ранее – просчитать возможные побочные эффекты.
“Здесь мы можем вывести ещё одну слабо измеримую ценность ИТ-сотрудника: умение быстро ориентироваться в неизвестном.
Хороший айтишник может собрать рабочую карту системы там, где документация устарела или вовсе отсутствует. В зрелых командах любой процесс – от отладки до расследования инцидентов – строится не как механическое устранение симптомов, а как цикл научного исследования: выдвижение гипотезы, её проверка в изолированной среде и анализ данных.
Исследовательский характер ИТ вытекает из природы цифровой среды, потому что в мире информации всё постоянно меняется, притом с завидной скоростью. Требования бизнеса непрерывно уточняются, приоритеты смещаются в зависимости от рынка, а данные ведут себя непредсказуемо при масштабировании. Получается своего рода управление неопределенностью, где каждый закрытый тикет – результат успешно проведенной экспедиции вглубь сложной системы.
Попытки измерить эффективность
У менеджмента внушительный арсенал учета производительности. Замерить KPI по ним несложно, и попробуем рассмотреть наиболее популярные метрики, которые отлично сработали бы на заводе:
Метрика |
Ожидаемый результат |
Реальный эффект |
Количество строк кода (LOC) |
Высокая производительность |
Раздутый, нечитаемый код (bloatware) и рост технического долга. |
Количество коммитов |
Высокая активность |
Дробление мелких правок на десятки бессмысленных микро-коммитов. |
Скорость (Velocity / Story Points) |
Быстрое закрытие задач |
Инфляция поинтов: команда начинает оценивать простые задачи как сложные, чтобы выполнить норму. |
Количество закрытых багов |
Качественный продукт |
Создание простых багов для их последующего героического исправления. |
В левом столбце хорошие бизнес-метрики, но их проблема в том, что они измеряют объем выработки вместо бизнес-ценности, на которую в первую очередь опирается заказчик. Для бизнеса нет особого значения, столько тысяч строк кода написано – главное работает или не работает то, для чего написан код. Ну а привязка по часам бьёт в первую очередь по невидимой зоне, где происходит самый ценный и важный процесс исследования перед написанием кода.
Есть хорошая новость – существует адекватная методология измерения DORA (DevOps Research and Assessment). Вместо контроля за количественными действиями рук программиста, она предлагает оценивать здоровье процесса через четыре показателя: частота деплоя, время докатки изменений (Lead Time), частоту отказов при деплое и время восстановления системы. Эти метрики в совокупности дают представление о конечной способности системы поставлять ценность. Всё, что находится «до» этого момента – сложный творческий процесс, и попытка ускорить его через микроменеджмент приводит только к росту энтропии и последующему уходу талантов.
Итого
В индустриальную эпоху ценность производства задавали минимальные отклонения от стандарта. В эпоху же информационную, напротив, ценность создается через способность разработчика ориентироваться в условиях высоких переменных.
Плохая метрика почти всегда порождает не рост качества, а рост имитации.
В ИТ это особенно заметно, потому что здесь очень легко подменить ценность видимой активностью. Ещё десятилетие назад продуктивность разработчиков пытались считать по строкам кода, и критика этого подхода появилась не вчера: Эдсгер Дейкстра прямо писал, что измерение программиста скоростью производства строк поощряет слабые решения и раздувание кода. Логика примитивна, но работает безотказно: как только объём объявляют мерой пользы, система начинает производить объём. Не лучшее решение, не более устойчивую архитектуру, не более понятный продукт, а просто больше текста, коммитов и формальных следов активности.
С современными agile-метриками происходит то же самое, только вместо строк кода на сцену выходят velocity, burndown и правильная динамика спринта. Как пример есть кейс одного российского крупного банка: на телевизор в офисе вывели диаграмму сгорания по каждой команде командами, чтобы руководство могло вечером проходить мимо и видеть уровень продуктивности. Кончилось это предсказуемо: команды начали дробить задачи на более мелкие, а затем написали скрипт для создания и списание тикетов, чтобы график выглядел красиво. Метрика осталась зелёной, а связь с реальной продуктивностью – исчезла.
Если менеджмент фокусируется на видимых атрибутах активности, будь то объем кода или часы, возникнут условия для создания инфомусора от самих айтишников, чтобы соответствовать требованиям начальства. Оттуда появляется дополнительный техдолг, скрытые дефекты и самое страшное – выгорание самих сотрудников.
Желание повысить эффективность работы закономерно и понятно всем, однако в ИТ один из лучших способов сохранить темп развития проекта в долгосрочной перспективе – это признать, что качественная разработка требует времени на раздумья, которое невозможно сократить никакими методами промышленного принуждения.
Помните, что некоторые процессы невозможно сжать во времени, просто добавив больше ресурсов, потому что их суть не в физическом труде, а в созревании концепции и связей.
Фредерик Тейлор – Научная организация труда
* Питер Друкер – Ориентиры завтрашнего дня
Комментарии (17)

OlegZH
30.03.2026 11:33В логике работы завода есть предсказуемость – через заданные промежутки времени по конвейеру проходит готовое изделие, и если мы хотим увеличить выпуск продукции на определенное количество, достаточно добавить ещё смен или поставить новые станки
Это и есть основное содержание работы многочисленных программистов. К этому всегда стремится руководство — как можно полнее формализовать работу и поместить её в жёсткое прокрустово ложе разнообразных "метрик".
Работа айтишника серьезно отличается от конвейерности, и создание кода (основного продукта) как таковое занимает далеко не основную часть времени кодера.
На самом деле, можно привести и другие примеры отличий от конвейерности в других областях. И это не только научная работа, которая хорошо "ложится" под содержание статьи. Даже если взять работу на складе, то мы увидим, например, как у человека, осуществляющего раскладку (выкладку) товара, есть своя конвейерная часть ("пикание" товаров), но есть и своя творческая часть (наведение порядка на полках). К сожалению, платят только за "пики", а за порядок не платят, хотя именно порядок на полках и есть основная цель работы даркстора (ибо только при соблюдении порядка на полках можно обеспечивать высокую скорость выполнения заказов). В научной работе "пиками" являются публикации, и тут происходит своя борьба за "пики".
Плохая метрика почти всегда порождает не рост качества, а рост имитации.
Например, пробовал бы кто-нибудь (в даркосторе) задастся вопросом: почему медленно собираются заказы, как повысить скорость сборки? Обычно этот вопрос решается предельно просто: ищутся особо бегучие сотрудники. Выигрываются секунды. Сборщики так и гоняются между товарами. А где тратится основное время? На перемещении из точки "А" в точку "Б". Как сделать так, чтобы этого перемещения не было? Создать отделы, чтобы каждый сотрудник сидел в своей комнате. Комната — это отдел магазина. Сборщик должен сидеть за столом и собирать корзину. Приходит пачка заказов, и программа раскидывает эти заказы по отделам. В отделе сидит свой сотрудник, который выкладывает товар в коридор. В коридоре снуют курьеры. То есть — повышение производительности заключается в том, что над заказом работает несколько человек одновременно. При этом, минимизируются перемещения. Но тогда надо и платить повремённую оплату, а "пики" рассматривать как дополнительный заработок.
Желание повысить эффективность работы закономерно и понятно всем, однако в ИТ один из лучших способов сохранить темп развития проекта в долгосрочной перспективе – это признать, что качественная разработка требует времени на раздумья, которое невозможно сократить никакими методами промышленного принуждения.
Вот и получается, что на дарксторе время раздумья — это время, когда я навожу порядок на полке. Попробуйте это время как-то пронормировать! Порядок можно навести и предъявить, но тогда нужно и акт приёмки оформлять: мол, порядок наведён — оценка такая-то. И платить соответствующе.
А, уж, про научную работу я и вовсе молчу. Можно сказать, что человек постоянно о чём-то думает. И отдохнуть/отвлечься тоже нужно, чтобы качественно думать. А это не распорядок дня с 9 до 18.

BorisBeast
30.03.2026 11:33Нормально Вы машиностроение опустили с Вашим этим - если 10 Токарей точут 10 болтов то... Во-первых сравнивать Инженерный труд с трудом специалиста немножко некорректно. Во-вторых Болты так-то автоматы делают. А вот автоматы делают инженеры конструкторы. И уж Поверьте, труд рядового инженера-конструктора сложнее чем труд рядового программиста.

PenF00k
30.03.2026 11:33Работал 5 лет после университета инженером-конструктором мостов и эстакад (их пролетных строений, если точнее).
Со временем адаптации вся работа свелась к построению модели в китайском ПО, которое прикладывало нагрузку и рассчитывало усилия. После этого усилия отправлялись в табличку excel, которая делала проверку по СНИП по предельным состояниям. После этого в обычном автокаде выполнялись чертежи параллельно с просмотром сериала (смотрел даже на английском, когнитивная нагрузка при черчении была минимальная). Конечно это все требует образования и некоторого желания для ускорения расчетов и прочего, но кроме зарплаты в этом для меня не было ничего сложного. Тем более сечение балок в итоге все равно принималось "как в том проекте, что уже стоит" для душевного спокойствия ГИПа.
После 8 лет работы разработчиком мобильных приложений могу сказать, что эта работа гораздо ебанутее и сложнее для мозга: постоянная борьба с когнитивной-сложностью и менеджерами-долбоебами, а сейчас последние сошли с ума по ИИ и хотят, чтобы ленивые разработчики стали уже хоть что-то делать.
Не верю я вашему утверждению про рядового конструктора.

Ksu_Sof
30.03.2026 11:33Наверное тоже не очень корректно сравнивать работу конструктора на большом проекте с мобильными приложениями в ИТ. Тогда уже давайте сравнивать крупный инженерный проект с разработкой крупной системы, где зарегулировано все и на каждый чих есть инструкция. Например, банковская система, крупные медицинские системы, федеральные проекты.
А разработку небольшого приложения корректнее сравнивать с гаражом, где инженерная мысль имеет возможность для полёта.

PenF00k
30.03.2026 11:33Вы правы, сравнивать нужно сравнимое.
Мой комментарий был к фразе "труд рядового инженера-конструктора сложнее чем труд рядового программиста", коими я себя и считаю. Если сравнивать посредственность с посредственностью, то IT выжигает сильнее. Впрочем, сейчас жизнь стала в целом сложнее, чем в далеком 2012, и вероятно у инженеров все стало тоже куда горше.

Toscedo
30.03.2026 11:33Согласен что с рядовым конструктором сравнивать некорректно, вну если только с джуном зелёным.
А вот с ведущим или руководителем группы/направления - вполне. У меня в подчинении КБ на 25 человек, занимаемся реверс-инжинирингом. И это не просто копирование изделия, так как зачастую работаем с изношенными деталями, разными материалами, где тоже надо понять "контекст" изделия и почему это было сделано именно так в оригинале. Потом технологи должны отработать сам процесс изготовления, найти подходящее производство и далее по цепочке.

asch2022
30.03.2026 11:33Ого, предыдущий комментарий 9 лет назад, зашел в профиль почитать истории про будни начальника в КБ с 25 сотрудниками в подчинении, но там ничего
Как-то колдунья наложила заклятье на молодого человека, не дававшее ему говорить больше 1 слова в год. Он молчал 9 лет и сказал: "Согласен что программиста с рядовым конструктором сравнивать некорректно"

Alex_Builder
30.03.2026 11:33Попытки померить любой интеллектуальный труд и тем более связанный с исследованиями и/или творчеством на манер количества выложенных каменщиком кирпичей всегда приводят к провалу. Иначе и не может быть.
Но ещё есть такой фактор, который я уже минимум 20 лет вижу в разных местах. Это такое уродливое явление как т.н. "менеджер проектов", который сам слабо представляет как именно устроен проект и/или технология, но натужно пытается этим руководить.
Сейчас даже бывает, что и вообще сажают на руководство тех.проектами управленцев по общим вопросам - т.н. эФФективных мэ-э-энеджеров - т.е. профессионально ничего вообще не знающих болванов-недоучек с экономическим а то и с гуманитарным образованием.
И особенно это характерно для России, где пристроить своего человека или родственника всегда важнее конечного результата (тут есть с чем сравнить, поскольку долгое время работал в сотрудничестве с европейскими компаниями).IMHO Разумный подход для правильного развития проекта - это изначально грамотный подбор персонала и правильная его стимуляция (где-то деньги, где-то интересные задачи, где-то соревновательный подход).

Sergeevaaylin96
30.03.2026 11:33Тут можно только дополнить это ещё и тем, что реальная боль начинается тогда, когда менеджеры не могут понять и структурировать все хотелки клиентов, и всё это ещё и вытекает в плохой ТЗ, и всегда это вытекает в сорванные дедлайны и цепочку недовольства, где сначала недовольны разработчики, потом клиент с менеджерами

OlegZH
30.03.2026 11:33структурировать все хотелки клиентов,
А что мешает самому сформулировать "все хотелки клиентов"? Что такого хотят клиенты, чего нельзя предусмотреть? Чего такого принципиально нового они предлагают, чего не предлагалось сделать раньше?
А ещё крайне интересно посмотреть, что получится, если взять готовую систему, попробовать написать для этой готовой системы ТЗ и представить вариант реализации системы (по шагам). Наверняка выяснится, что большую часть "хотелок" можно было "придумать" заранее, что большая часть реально пределеанной работы можно было не делать, и что работать можно было не 7/24, а в совершенно свободном темпе.

madman64
30.03.2026 11:33Для менеджеров это слишком сложно и не наглядно. У них "даёшь!" Это вот то самое. Пятелетку за три года! И так далее.
Arhammon
Ну постройте аналогичную количественным показателям табличку, что будут осознанно и не осознано делать люди чтоб выполнить КПИ по таким метрикам, что там будет?
art241111
Наверно тут самая важная оговорка "КПИ по таким метрикам" - по метрикам базово не должно быть КПИ, иначе они всегда будут искажаться, какие бы метрики мы бы не сделали
Arhammon
Ну это всем комментаторам известен закон Гудхарта, а от авторов статей и менеджеров его почему-то прячут)
Dmitry_8791
В Японии выход нашли уже очень давно: каждое инженерное подразделение должно в месяц выдавать по патенту - на продукт, который имеет коммерческую ценность. Нет патента - нет премии в конце месяца; то есть вынуждают всех, кто “сидит и думает (код пишет, чертежи делает, расчёты, аналитику)” - думать целенаправленно. У “Тойоты” - неплохо получилось. Чтобы возле каждого инженера по надсмотрщику не ставить - такой системы достаточно.
Guginot
Это так не работает в промышленности, большинство конструкторов не НИОКРами занимается, а просто разработкой с использованием принятых в организации решений с учётом требований заказчика.
d3d12
Японские подходы вообще нигде кроме Японии не работают. Там менталитет сильно другой.