⛔ Партнёры спрашивают: Когда будет фича?, а в голове честный ответ: понятия не имею, как там Клод справится. Говорить так нельзя, поэтому пришлось разобраться, что я вообще оцениваю.
❌ Старый способ тут не работает. Раньше я прикидывал объём руками: столько-то экранов, столько-то эндпоинтов, накинуть 30% сверху и получить срок. Эта арифметика держалась на том, что писать код долго, а значит объём кода и есть срок. Сейчас объём почти ничего не стоит. Напишет агент модуль за 20 минут или за час, на неделе это не видно вообще. Считать по количеству экранов теперь бессмысленно, вилка получается от 2 дней до 2 недель на одном и том же объёме.
В план я не попадаю не из-за скорости, а потому что по 3 раза переформулирую задачу, когда сам до конца не понимал, чего хочу. Количество этих заходов предсказать можно, если задача знакомая.
🦉 Поэтому первым делом смотрю, знаю ли я заранее форму данных. Если знаю (обычный CRUD, экраны по макету, интеграция с нормально задокументированным API), это 1-2 сессии и почти без промахов. Если не знаю (чужой API без доков, новая доменная логика, миграция на живых данных), то любая названная цифра будет взята с потолка.
В таких случаях я срок просто не называю. Беру часа 3-4, по-быстрому поднимаю самый противный кусок, смотрю, какие там данные и где интеграция начинает сопротивляться. После этого оценка становится нормальной. Партнёру это подаётся как: в среду скажу срок. Звучит сильно лучше, чем не знаю.
🕖 Теперь про то, что говорить. Я называю вилку, а не день. Не в четверг, а 5-8 рабочих дней. И всегда даю дату, когда выйду на связь с обновлением, даже если самого срока ещё нет. Если вижу, что не успеваю, говорю сразу, а не в день дедлайна. Звучит банально, но нарушают это все, я тоже нарушал.
Отдельная беда с демо. С агентом кликабельная версия появляется на второй день, когда сделано процентов 20. Показываешь, партнёр видит работающий экран и мысленно ставит галочку. Потом 3 недели объясняешь, куда делось почти готово. Сейчас показываю такое только с оговоркой, что это проверка на реальных данных, а впереди ещё авторизация, обработка ошибок, крайние случаи и приёмка.
💩 И последнее. Веду совсем тупой файлик: что оценил, что вышло по факту. Пары десятков строк хватает, чтобы увидеть свой личный коэффициент. У меня получается где-то 1.5-2 на всём, что связано с чужими API, и почти 1 к 1 на рутине. Ничего умнее за год не нашёл.
🕷 Код, который дописал агент, это ещё не сделанная задача. Сделана она тогда, когда её приняли, и между этими двумя точками обычно лежит столько же времени.