{"id":14268,"url":"\/distributions\/14268\/click?bit=1&hash=1e3309842e8b07895e75261917827295839cd5d4d57d48f0ca524f3f535a7946","title":"\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0442\u044c \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430\u043c \u0438\u0433\u0440\u0430\u0442\u044c \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u043c \u043c\u0435\u0441\u0442\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e?","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"f71e1caf-7964-5525-98be-104bb436cb54"}

Сколько стоит разработка приложения. Считаем в Excel

На прошлой неделе писал о запуске телеграм-канала с бесплатными типовыми ТЗ. Получил много обратной связи, что было бы не плохо, кроме описательной части ТЗ получить и понимание по прогнозу сметы на разработку. Сделал excel-файл для самостоятельной оценки и в этой статье рассказываю как им пользоваться.

Подход к оценке

Для понимания ориентиров достаточно будет поэкранной оценки — количество экранов умножается на среднее количество часов на экран и ставку часа программиста. Дополнительно туда закладывается функционал, который не попадает в понятие «среднего». Обычно это различные интеграции, хитрый поиск и формулы, которые явно не присутствуют на экране, но участвуют в логике проекта.

В качестве примера, для наглядности, взял последнее ТЗ, которое готовил для канала — MVP простенького мессенджера с групповыми переписками. Если кратко, то логика работы такая: пользователь авторизуется, заполняет свой профиль, может найти и общаться с другими пользователями, добавиться в групповой чат, либо создать собственный.

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

Параметры сметы

Для удобства имеет смысл открыть сам файл со сметой, скачав себе мой шаблон. Время на разработку среднего экрана, которое затрачивает конечный исполнитель:

  • Дизайнер: 4 часа.
  • Вёрстальщик: 3 часа.
  • Программист серверной части: 4 часа.
  • Программист приложения: 3 часа (логика).
  • Программист приложения: 1 час (внедрение вёрстки в сборку).
  • Дополнительные функции —
  • Тестирование и отладка: 1час.

Теперь более развёрнутые комментарии что происходит на каждом этапе, что заложено в эту почасовку исполнителей и что делают Техдир и менеджер проекта.

Дизайн. Закладывается время на создание и 3 итерации правок. ПМ здесь контролирует всё ли соответствует ТЗ, а техдир, в самом конце дизайна, проверяет не ляпнул ли дизайнер какой-нибудь чудо-юдо анимации, которая похоронит весь тайминг. Этап не учитывается, если приложение делается на типовом внешнем виде фреймворка.

Вёрстка. Учтено время на само создание вёрстки экрана и исправление придирок техдира (чтоб у программиста не было проблем при внедрении) и ПМа (что-то съехало или не соответствует дизайну). Этап не учитывается, если приложение делается на типовом внешнем виде фреймворка.

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

Сборка логики приложения. Здесь программист реализует все экраны приложения по документации серверщика и делает тестовую сборку с типовым внешним видом. Технический директор контролирует, в первую очередь связку приложения с серверной частью, а ПМ проводит первичную проверку со стороны пользователя.

Внедрение вёрстки. После проверки функциональности, программист натягивает на типовые шаблоны итоговую вёрстку. В случае разработки с типовым внешним видом это время тратится на создание «презентабельного» интерфейса на базе типовых шаблонов.

Дополнительные функции. Понятия среднего времени здесь нет, поэтому выделяем каждую функцию отдельно, с индивидуальной оценкой. Это время затрачивает либо программист серверной части, либо программист приложения, в зависимости от логики работы самой функции. В нашем случае с мессенджером — это поиск по списку пользователей и отправка жалобы с историей переписки на почту владельца.

Тестирование и отладка. Финальная проверка ПМом и багфикс допущенных ошибок.

Выходит 9 часов на экран при шаблонном дизайне и 16 часов, если нужно делать индивидуальный. Само собой, с моей оценкой можно не согласиться — начинающий программист потратит в три раза больше времени (в основном, на этапе багфикса), сеньору будет достаточно пары часов, вместо девяти на экран. Но так как задача шаблона дать прогноз по бюджету — ориентируемся на средние значения, как по таймингу, так и по стоимости часа.

Отдельно оговорюсь про панель администратора: 9 часов. Здесь одним махом делается примерно тоже самое, что и для приложения на этапе серверной части, логики, внедрении интерфейса в сборку и тестировании. Но т.к. делается веб-админка одним программистом, то удобнее эти этапы объединить.

В нашем примере ТЗ админке не заложена (предполагается, что будет достаточно в режиме MVP панели управления базой данных), но если вы планируете делать админку, то соответствующее поле там есть.

Стоимость работ со студиями и фрилансерами

Когда готовил смету, придрался сам к себе, что смета будет меняться, в случае, если делает фрилансер-универсал (какой там техдир и ПМ?) и в случае крупного IT-разработчика (обычно там добавляется отдельно инженер по тестированию, системный администратор и ещё несколько ролей).

В случае фрилансера, я бы всё же оставил роль техдира — это время и деньги будут потрачены на поиск того или иного решения, когда он зайдёт в тупик. Роль ПМа можно порезать, если проверку каждого этапа вы берёте на себя.

В случае заказа у «золотой сотни» я бы добавил временной коэффициент +30% и скорректировал бы ставки часа под конкретную компанию (явно там программист будет стоить не 1200р/час).

Давайте теперь разберём как из сметы мессенджера сделать смету вашего произвольного приложения. Для этого нам понадобится нижний блок.

Здесь заносятся количество экранов приложения и стоимость часа каждого из специалистов. Я записал средние значения по рынку — дизайнер и верстальщик 1000р, программист 1200, техдир 3600 и ПМ 500р.

Количество экранов приложения и админки вы заносите на основе ТЗ, а стоимость часа на основе данных выбранного подрядчика.

Итог

В результате не хитрых вычислений получается смета на приложение с базовым дизайном и индивидуальным:

В случае примера с мессенджером это 324 300р и 422 300р соответственно.

Для предварительной «пристрелки» по бюджету можно взять типовые ТЗ, дописав под себя и заполнив количество экранов и допфункционал, а для получения более точной сметы нужно заполнить ставки часа после общения с подрядчиком.

ТЗ которые размещены на канале:

  • Приложение маркетплейса услуг
  • Аналог inDriver
  • Приложение товарного маркетплейса
  • Сервисная компания с выездными специалистами
  • Приложение простого мессенджера

Пожелания по другим типовым идеям принимаются в группе поддержки.

0
20 комментариев
Написать комментарий...
Виталий Подольский

Ну в целом можно принять за данность. Но в статье стоит уточнить, что расчет ведется для гибридного ионика, где за эти деньги, не фект, что заказчик получит рабочее приложение.

В итоге, эти деньги за проект, могут запросто вылететь в трубу, так как никто не хочет связываться с гибридом на доработку. Но так действительно можно считать. Есть нюансы, но это уже тема для отдельной статьи Дениса, как я понимаю =)

Ответить
Развернуть ветку
Николай Демидов

Откуда такая ненависть к гибридным приложениям? Ionic/React native/flutter уже стали популярнее нейтива.главным образом из-за time-to-market.
Если большие+ может подождать год и нанять отдельные команды для разработки, то средние- нет.

Ответить
Развернуть ветку
Виталий Подольский

Да нет ненависти никакой. Вот когда весь зоопарк гибридов приблизится к возможностям нейтива, тогда можно и уважать начать. А пока только мелкие поделки на нем делаются. Время деньги? Ок, ну тогда можно запилить сайт адаптивный для мобильных устройств и через него работу вести. Еще быстрей получится.

Ответить
Развернуть ветку
Nikolay Kenig

На основании чего бралось время? 3П - Палец пол потолок?

Ответить
Развернуть ветку
Денис Гордиенко
Автор

Личный опыт управления программистами. Подправьте коэффициенты под себя, если считаете, что значения нужно скорректировать

Ответить
Развернуть ветку
Руслан Раянов

На мой взгляд, очень много зависит от инструментов и платформы. Где-то форму можно сделать за 30 минут, а где-то можно пилить и 3 часа (без всяких накруток - просто потому что с нуля). Поэтому все же такой подход ограниченно работает, если говорить об универсальном подходе к оценке. 

Ответить
Развернуть ветку
Денис Гордиенко
Автор

Я и предполагал, что в допфункции будут выноситься такие дикие вещи. То есть пишется, что огромная форма на 200 зависимых полей - 5 часов. 

Ответить
Развернуть ветку
Андрей Соловьев

Что ж Вы все, ребята, так придираетесь к мелочам. У меня бы отпало все желание писать подобные полезные вещи, будь я создателем. Он же шаблон просто рабочий дал.

Отличная статья и супер-шаблон, бро! Побольше таких!
Буду пользоваться и будет очень полезно. Заменить некоторые цифры под свой регион и свою ЦА - и на тебе: рабочая схема, сэкономившая мне миллиард времени и нервов. С.П.А.С.И.Б.О!!

Ответить
Развернуть ветку
Олег

"исправление придирок техдира"

Техдир в вашем тексте выглядит как мелочный человек с необоснованными упрёками. Слово "придирки" должно отсутствовать в лексиконе профессионала, а то из работника он превращается в нытика ;)

По документу - программист за 1200 в час это уровень ниже среднего. Такой может неожиданно бросить проект на 90% готовности, решив что дальше делать сложно или просто не потянув проект.

Ответить
Развернуть ветку
Денис Гордиенко
Автор

Поставьте свой рейт, не проблема. Речь же о формуле, а не конкретных рейтах

Ответить
Развернуть ветку
Олег

Вы поставили рейт, с которым работают ваши разработчики? Для понимания уровня разработчиков.

Ответить
Развернуть ветку
Денис Гордиенко
Автор

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

Ответить
Развернуть ветку
Апартаменты.рф

" СТОИМОСТЬ ПРИЛОЖЕНИЯ НА ШАБЛОНЕ " - 324 000 рублей
Нет у мелкого бизнеса(самозанятость) даже 50к рублей на сайты и приложения - соцсети заменили всё. 

По работе столкнулся что уникальные люди продают систему управления замками - для посуточной аренды.
Берут API производителя замков - через свой сайт прогоняют клиентов за абонплату красота. 
Появилась мысль - есть значит возможность ttlock приложение сделать под своим брендом. 

Фрилансер говорит 200S за оценку стоимости изготовления.

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

Ответить
Развернуть ветку
Юрий Колесник

Да кто же вам не даёт искать готовые решения и приделывать плагин под себя. Хочется эксклюзива или не хочется думать головой это всегда деньги. Главное не сильно увлекаться, а то нарисовывался как-то клиент который хотел сам толком не знал чего, но получить это хотел за новогодние праздники, типа он вышел после праздников и у него всё зашибись, но ценник его не устроил. У него праздники, а у других их нет :)

Ответить
Развернуть ветку
Олег

Интересует. Раскажите поподробней.

Ответить
Развернуть ветку
Александр Иванов

Так ему это и не надо, пусть пробивается из мелкого в малый.

Ответить
Развернуть ветку
Дмитрий Шульгин

Бррр.. ценник.. это оно чё из. Золота и кофе само готовит?)

Ответить
Развернуть ветку
Олег

Ну что вы, Только завтрак?

Ответить
Развернуть ветку
Smart Phone

Ты чт, урлс чтл? 

Ответить
Развернуть ветку
Mike Reshetnick

У меня всегда много недоверия к расчетам времени в таком деле. Особенно если делаем не для себя. 
Сейчас перешли на модульный подход. Делаем в днях модуль, потом следующий и т.д.
А сметы проекта в таком исполнении больше нужны заказчику. 
Нас часто просят такую смету по проекта прислать, на что мы отвечаем, что если вам это очень надо, то готовы предоставить полный отчёт о потраченных ресурсах после подписания акта. 

Ответить
Развернуть ветку
17 комментариев
Раскрывать всегда