TGViewer
Книжный куб Книжный куб @book_cube · 15.7K subscribers
Post #3581 2.26K
[2/3] What's DAT? Three Case Studies of Measuring Software Development Productivity at Meta With Diff Authoring Time (Рубрика #Productivity)

Продолжая рассказ про этот whitepaper от Meta, чья деятельность запрещена на территории РФ, перейдем к валидации подходом с использованием DAT (Diff Authoring Time). Для этого авторы прповели дополнительные исследования

1. Исследование пользовательского опыта
- Создали ground truth датасет через запись реальной работы разработчиков
- Использовали случайную выборку для минимизации предвзятости
- Получили среднюю точность DAT более 90% по сравнению с реальными данными

2. Крупномасштабный опрос
- Сравнили DAT с оценками разработчиков (968 уникальных диффов)
- Встроили опросы в инструмент Phabricator, который используется для код ревью. Опрос стартует сразу после завершения диффа
3. Дескриптивная статистика
- DAT покрывает 87% всех подходящих диффов
- DAT оказалось стабильной метрикой (использовался 99-го перцентиль winsorized mean для отчетности)
- Авторы отвалидировали DAT, проведя сравнение с метрикой Time Spent by Diff, которая определяется как "averages coding time in a given period by the number of diffs published in that period"
4. Визуализация временных рядов
- Сделали детальную визуализацию того, как сырая телеметрия преобразуется в DAT (изображение будет в финальном посте)
- Сделали кросс-валидацию с авторами изменений (с самими разработчиками)

Дальше авторы рассказывают про 3 конкретных эксперимента, которые они проводили

1. Типизированное мокирование в Hack
Суть эксперимента в том, чтобы внедрить типизацию в инструменты мокирования внутри Hack (внутренняя версия доработанного PHP). Для эксперимента авторы мигрировали часть моков на типы, а часть оставили как есть и дальше сравнили DAT при создании diffs в разных частях кодовой базы. Эксперимент показал как языковые возможности с конкретными показателями продуктивности
- 14% улучшение DAT: Первое количественное доказательство влияния типизации на продуктивность в промышленной среде
- Статистическая значимость: p < 0.001 для всех размеров диффов

2. Авто-мемоизация в React компайлере
Авторы дорабатывали фреймворк React для авто-мемоизации и дальше провели эксперимент, где сравнили DAT при создании diffs с ручной и автоматической мемоизацией.
- Они использовали смешанную модель эффектов для учета конфаундеров через регрессионную модель
- Для нерандомизированных данных они использовали Wasserstein distance для измерений истинной разницы между граппуми
- 33% улучшение DAT: Значительное повышение эффективности при использовании автоматической мемоизации

3. Анализ эффективности от переиспользования кода

Это исследование мне показалось самым интересным, так как авторы оценивали эффект применения кросс-платформенных технологий (у ребя это был React). Правда, для анализа пришлось использовать контрфактический анализ для оценки гипотетического времени разработки без переиспользования кода. На выходе получилось, что
- Кроссплатформа дает больше, чем 50% улучшение относительно разработки без переиспользования
- А это тысячи часов ежегодной экономии DAT через фреймворки переиспользования кода

В итоге, этот подход к использованию метрики DAT привел к следующим эффектам
- Переход Infrastructure команд к культуре, ориентированной на a/b эксперименты
- Принятие решений на основе данных - DAT используется для планирования и приоритизации разработки
- DAT и эксперименты выравняли подходов между продуктовыми и инфраструктурными командами

Если говорить про дальнейшие планы авторов исследования, то они планируют расширение
- Горизонтально - добавление кроме diffs и других артефактов разработки (documents and tasks). Это позволит создать общий фреймворка измерения времени активностей для экспериментов
- Вертикально - поддержка большего количества инструментов (разных IDEs и других инструментов). Это позволит меньше ориентироваться на эвристики и больше на точные измерения.

#Engineering #Software #Bigtech #Productivity #Management #Leadership #Processes
Telegram Книжный куб [1/3] What's DAT? Three Case Studies of Measuring Software Development Productivity at Meta With Diff Authoring Time (Рубрика #Productivity) На эту интересную статью 2025 года от компании "Meta" я наткнулся во время подготовки обзора статьи "Enabling the…
  • ❤ 6
  • 👏 4
  • 🔥 2
More from @book_cube
  1. Sep 25, 2026Материалы выпуска Research Insights Made Simple #31: AI4SDLC — что бы я делал по-другому (…
  2. Sep 25, 2026AI меняет разработку. Что теперь важно инженеру? (Рубрика #Engineering) Выступил сегодня н…
  3. Sep 25, 2026Забегайте на прямой эфир 3 AImigo, где мы поговорим про новости сентбяря
  4. Sep 25, 2026Фелинне Херманс: доступность программирования и цена понимания (Рубрика #AI4SDLC) Если ИИ…
  5. Sep 24, 2026Завтра у меня интересный день, где будет сразу 3 активности, на которых вы можете поймать…
  6. Sep 24, 2026Разбор whitepaper о vLLM: KV-кеш, PagedAttention и быстрый инференс | Research Insights #3…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →