Оценка доработки 1С в часах и рублях: от декомпозиции до сметы
Содержание
Чтобы оценить задачу 1С, разбейте её на части не крупнее 4–8 часов, оцените каждую по трём точкам (оптимистично, реалистично, пессимистично), добавьте 20–30% на тестирование и 15–25% на риски. Умножьте часы на ставку: ориентировочно 1 500–2 500 ₽ за час у частного программиста и 2 500–4 500 ₽ у франчайзи.
Частая ошибка — оценивать «на глаз» по формулировке заказчика: «добавить одно поле в документ — это полчаса». Поле в форме действительно ставится за полчаса. Но если его нужно заполнять при обмене, выводить в печатную форму, учитывать в отчёте и не потерять при обновлении, получается 6–10 часов. Стоимость задачи определяет не размер изменения, а число мест, которые оно задевает.
Что влияет на стоимость доработки 1С
Одна и та же формулировка может стоить 3 часа или 30. Разницу дают несколько факторов.
- 🧩 Способ внесения изменений. Расширение конфигурации почти не мешает обновлениям. Правка типовой конфигурации со снятием с поддержки удорожает каждое следующее обновление.
- 📦 Конфигурация и её состояние. Типовая БП 3.0 без доработок — одна история. Сильно переписанная УТ 11, где до вас работали три подрядчика, — другая: сначала придётся разобраться в чужом коде.
- 🔗 Интеграции. Обмен с сайтом, маркетплейсом, банком или складской системой. Если у внешней стороны нет документации к API, закладывайте отдельное исследование.
- 📊 Объём данных. Отчёт, который на демо-базе строится за секунду, на базе в 200 ГБ может работать минуты. Оптимизация запросов — отдельные часы.
- 👥 Число пользователей и блокировки. Обработка, которая массово меняет документы днём, будет конфликтовать с работой людей. Нужна порционная запись или запуск ночью.
- 🧪 Требования к тестированию. Нужно ли проверять на копии рабочей базы, кто принимает результат, есть ли тестовые сценарии.
- 📝 Качество постановки. Чем больше «ну вы сами поймёте», тем больше времени уйдёт на уточнения и переделки.
Первый вопрос к любой задаче: «Где ещё должно отразиться это изменение?» Ответ на него часто удваивает оценку, зато смета перестаёт врать.
Методы оценки трудозатрат в 1С
Универсального метода нет. На практике их комбинируют: быстрый для первой прикидки, точный для сметы.
| Метод | Когда подходит | Точность | Риски |
|---|---|---|---|
| Экспертная оценка «на глаз» | Мелкие задачи до 4 часов, первая прикидка по телефону | Низкая | Забытые этапы, занижение в 1,5–2 раза |
| По аналогии | Уже делали похожее: печатные формы, загрузки из Excel, отчёты | Средняя | Аналог оказывается сложнее или проще, чем кажется |
| Декомпозиция снизу вверх | Задачи от 8 часов, смета для договора | Высокая | Долго, нужна хорошая постановка |
| Трёхточечная (PERT) | Задачи с неопределённостью: интеграции, чужой код | Высокая | Требует честной пессимистичной оценки |
| Покер планирования | Команда из 3+ программистов, спринты | Средняя–высокая | Мнение старшего давит на остальных |
| Оплата по факту (Time & Material) | Исследования, поиск ошибок, неясная постановка | Не оценка, а лимит | Заказчик не знает итоговую сумму |
Трёхточечная оценка на примере
Для каждой части задачи называют три числа:
- O — оптимистичная оценка: всё пошло гладко;
- M — наиболее вероятная;
- P — пессимистичная: всплыли подводные камни, но не катастрофа.
Ожидаемое время считают по формуле:
E = (O + 4 × M + P) / 6
Пример: интеграция с API службы доставки. O = 4 ч, M = 8 ч, P = 18 ч. E = (4 + 32 + 18) / 6 = 54 / 6 = 9 часов.
Разброс показывает величина (P − O) / 6 = 14 / 6 ≈ 2,3 часа. Чем она больше относительно E, тем сильнее нужен резерв или предварительное исследование.
Если пессимистичная оценка больше оптимистичной в 4 раза и более, задачу пока нельзя оценить честно. Предложите заказчику платное обследование на 2–4 часа, а потом дайте смету.
Оценка по аналогии
Ведите свою таблицу выполненных задач: что делали, сколько оценивали, сколько ушло на самом деле. Через полгода у вас появится личный коэффициент. Например, если по факту вы стабильно тратите на 30% больше, чем называете, умножайте первую прикидку на 1,3.
Как разложить задачу 1С на части перед оценкой
Декомпозиция — главный инструмент. Задача «сделать загрузку прайса» не оценивается. Оценивается набор конкретных действий, каждое из которых понятно, как сделать.
Порядок декомпозиции
- Запишите результат с точки зрения пользователя. Не «доработать обработку», а «менеджер выбирает файл Excel, нажимает кнопку, цены обновляются, по ошибочным строкам выводится список».
- Найдите все затронутые объекты. Справочники, документы, регистры, формы, роли, печатные формы, обмены.
- Разбейте на этапы: анализ, разработка, тестирование, внедрение, документация.
- Дробите разработку до кусков в 1–8 часов. Всё, что больше дня, разбивайте дальше.
- Оцените каждый кусок по аналогии или по трём точкам.
- Добавьте резерв на риски отдельной строкой, а не размазывайте по пунктам.
- Проверьте итог здравым смыслом: сравните с похожей задачей из прошлого.
Пример: загрузка прайса поставщика в БП 3.0
Задача: загрузка цен из файла Excel с поиском номенклатуры по артикулу и созданием новых позиций. Делается в расширении.
| Этап | Работа | Часы |
|---|---|---|
| Анализ | Разбор формата файла, сопоставление колонок, согласование правил | 2 |
| Разработка | Форма обработки, выбор и чтение файла | 4 |
| Разработка | Поиск номенклатуры по артикулу, создание новых позиций | 6 |
| Разработка | Создание документа установки цен | 3 |
| Разработка | Протокол ошибок по строкам | 2 |
| Тестирование | Проверка на копии базы, 3–4 реальных файла | 3 |
| Внедрение | Перенос расширения, короткая инструкция | 1 |
| Итого | 21 | |
| Резерв 20% | Нестандартные файлы, дубли артикулов | 4 |
| Всего | 25 |
При ставке 2 500 ₽ за час смета составит ориентировочно 25 × 2 500 = 62 500 ₽.
Обратите внимание на пропорции: чистое программирование здесь 15 часов из 25. Остальное — анализ, проверка, перенос и резерв. Если в смете разработка занимает 90%, что-то забыто.
Учёт технических рисков и долга в оценке задачи 1С
Риск — это то, что может съесть часы, но не обязательно съест. Технический долг — то, что съест точно, просто позже.
Типовые технические риски
- ⚠️ Чужой код без комментариев. Добавляйте 2–6 часов на изучение, даже если сама правка маленькая.
- ⚠️ Нетиповые объекты с неочевидной логикой. Подписки на события, переопределённые модули, регламентные задания, которые что-то тихо меняют.
- ⚠️ Внешние системы. Нестабильный тестовый контур, ограничения по числу запросов, отсутствие песочницы.
- ⚠️ Производительность. Задачи на больших регистрах накопления и сведений, массовая обработка документов.
- ⚠️ Обмены. Новое поле в документе может потребовать правки правил обмена с другой базой. Это часто забывают.
Технический долг и обновления
Здесь самая крупная скрытая стоимость. Сравните два варианта одной доработки:
| Способ | Стоимость сейчас | Стоимость при каждом обновлении |
|---|---|---|
| Расширение конфигурации | Иногда на 10–20% дороже | Проверить, что расширение применяется и работает |
| Правка типовой со снятием с поддержки | Чуть дешевле | Сравнение и объединение, ручной разбор конфликтов |
После обновления платформа сама сообщит, если расширение стало неприменимым к изменившимся объектам. Тогда его правят, но обычно это часы, а не дни.
С правками в типовой хуже. Каждый релиз приходится объединять через сравнение конфигураций и разбирать конфликты. На сильно доработанной базе одно обновление может занимать от нескольких часов до нескольких дней.
Говорите заказчику о цене будущих обновлений до начала работ. Дешёвая сейчас доработка в типовой конфигурации может обходиться дороже расширения уже через 3–4 обновления.
Как заложить резерв
- 10–15% — понятная задача, знакомая база, делали похожее.
- 20–30% — чужая база или новая для вас подсистема.
- 30–50% — интеграция с внешней системой без документации или работа с производительностью.
- Больше 50% — задачу не оценивают фиксированно. Сначала обследование или оплата по факту с лимитом часов.
Сколько стоит час работы программиста 1С и как собрать смету
Ставки на рынке сильно различаются по региону и уровню. Ориентировочно:
| Исполнитель | Примерная ставка за час |
|---|---|
| Частный программист, начальный уровень | 1 000–1 500 ₽ |
| Опытный частный программист | 1 500–2 500 ₽ |
| Франчайзи, линейный специалист | 2 500–3 500 ₽ |
| Ведущий разработчик, архитектор, сложные интеграции | 3 500–5 000 ₽ и выше |
Это ориентиры, а не прайс. Перед договором уточните ставку у конкретного исполнителя.
Из чего состоит смета
- Перечень работ с часами по каждому пункту, как в таблице декомпозиции выше.
- Резерв на риски отдельной строкой с объяснением, на что он.
- Что не входит в работу: обновление конфигурации , обучение, правка обменов, доработки по итогам тестов, которых не было в постановке.
- Модель оплаты: фиксированная цена или по факту с лимитом.
- Критерии приёмки: какой результат считается выполненной задачей.
Пункт «что не входит» экономит больше споров, чем любой другой. Если заказчик после сдачи попросит «ещё одну колонку в отчёт», у вас будет основание оценить её отдельно.
Фиксированная цена или по факту
- Фикс уместен, когда постановка полная, а задача типовая: печатная форма, отчёт, загрузка из файла.
- По факту с лимитом — для исследований, поиска ошибок, интеграций с неясным API. Например: «оплата по часам, не больше 20 часов без согласования».
- Комбинированно: обследование по факту, затем фикс на реализацию.
Инструменты для оценки и учёта трудозатрат
Сами по себе инструменты задачу не оценят, но ускоряют работу и дают статистику для оценки по аналогии.
- 📋 Таблица в Excel или Google Таблицах. Колонки: этап, работа, O, M, P, ожидаемое время. Формулу трёх точек достаточно прописать один раз.
- 🗂️ Трекер задач — Jira, YouTrack, Redmine, Битрикс24 или любой другой, где фиксируются оценка и фактическое время. Через полгода по нему видно, на каких типах задач вы ошибаетесь.
- 🃏 Покер планирования — карточки с числами или онлайн-сервис для команды. Каждый оценивает молча, потом обсуждают расхождения.
- 🔍 Сравнение конфигураций в Конфигураторе. Помогает быстро понять, насколько база отличается от типовой и сколько объектов уже доработано. Это прямо влияет на оценку.
- 🔎 Поиск ссылок на объект. В Конфигураторе и в 1С:EDT по объекту можно найти, где он используется. Так видно, сколько мест затронет изменение.
- 🧾 Git и история хранилища. Если база в хранилище конфигурации или в Git через EDT, история изменений показывает, сколько похожие задачи занимали раньше.
Шаблон расчёта для таблицы:
Этап | Работа | O | M | P | E = (O + 4*M + P) / 6
Анализ | Сопоставление полей | 1 | 2 | 4 | 2,2
Разработка | Чтение файла | 3 | 4 | 7 | 4,3
Тестирование | Проверка на копии | 2 | 3 | 5 | 3,2
Проверка первой строки: (1 + 8 + 4) / 6 = 13 / 6 ≈ 2,2. Второй: (3 + 16 + 7) / 6 = 26 / 6 ≈ 4,3. Третьей: (2 + 12 + 5) / 6 = 19 / 6 ≈ 3,2.
Частые ошибки при расчёте сметы на доработку 1С
- ❌ Оценивать только программирование. Анализ, тестирование и перенос в рабочую базу легко дают треть всего времени.
- ❌ Давать оценку без доступа к базе. Пока не видели конфигурацию, любая цифра — гадание. Называйте вилку и оговаривайте, что смета уточнится после осмотра.
- ❌ Не учитывать обмены и права. Новый документ без настройки ролей пользователи просто не увидят. Новый реквизит без правки обмена не доедет до второй базы.
- ❌ Прятать резерв в каждом пункте. Смета раздувается незаметно, и при торге заказчик режет нужные части. Резерв — отдельной строкой.
- ❌ Соглашаться на фикс при размытой постановке. «Сделайте, как у нас было в старой программе» — это не ТЗ. Сначала обследование.
- ❌ Не сверять оценку с фактом. Без этой привычки вы годами ошибаетесь в одну и ту же сторону.
- ❌ Молчать о цене обновлений. Заказчик узнаёт о ней через полгода и считает, что его обманули.