О стоимости мобильной разработки

Каждый разработчик так или иначе оценивает свои задачи. Со временем и опытом часто приходится оценивать не только свои задачи, но и проекты в целом. От обычной оценки задач уже планируется итоговая смета проекта. Клиенты разумно хотят прикинуть стоимость услуг вашей компании и это единственный способ это их желание как-то удовлетворить.

Я Android-разработчик, который волею судеб стал разбираться в iOS из-за необходимости управлять и направлять iOS командой. Нахватался опыта и там и там, стал человеком-оркестром с функциями менеджмента. Одной из моих обязанностей как раз и была оценка, прогнозирование сроков и умение управлять несколькими проектами на разных платформах одновременно. В маленькой компании ты всегда намного ближе к бизнесу и все эти вопросы так или иначе проходят и через тебя. Это всё дало хороший опыт оценки нативных мобилок, даже в такой небольшой компании просто неприличное количество факторов, о которых стоит задумываться оценивая и собирая смету клиенту.

Что учитывать?

Общие принципы

Сколько стоит?

Насчёт того сколько это вообще может стоить - сколько угодно. Грубо говоря нужно эту оценку домножить на среднюю зарплату задействованных лиц и их количество + какой-то процент сверху для развития компании + накладные расходы для функционирования офиса, например. Всё это очень сильно может варьироваться. От страны и города, от офиса, от плюшек в компании, и так далее.

Android vs iOS

По моему опыту оценка Android и iOS если усреднить по фичам - не отличается почти ничем. В Android есть свои особенности, в iOS свои, на какие-то задачи оценка будет существенно отличаться, но если размазать на весь проект, то примерно то на то и выходит. It depends, опять же, от наличия нужных кадров и от требований.

Если сначала сделано под Android, а потом планируется делать под iOS, то это уже гарантия того, что хоть какие-то макеты были, бэкенд реализован, требования устаканились, результат работы принят, а андроид команда совершила кучу работы по придумыванию архитектуры, имеет какие-то готовые модели, описанную базу данных, например. Если она может передать знания iOS команде, то это существенно срезает косты второму. То же самое и в обратную сторону.

Кроссплатформу я в своих рассуждениях, скорее всего, покрываю не очень хорошо, но там тоже всё зависит от приложения и насколько много работы с платформой происходит, если ты делаешь приложение для просмотра новостей, например, и кроме текста с картиночками из интернета тебе ничего больше не нужно, то кроссплатформа хороша, перенесётся почти целиком. А вот если тебе нужна какая-нибудь камера по полной, какие-нибудь железные датчики, то едва ли не проще два разных нативных приложения написать.