Как потратить 2 миллиона на разработку и получить приложение, а не невроз

На 100 рублей можно купить молока, хлеба и сытно поужинать. Или мороженого, лимонада и заморить червячка. Это мы к тому, что 2 миллиона на приложение тоже можно потратить по-разному: взять команду энергичных джуниоров, отдать проект большой компании или доверить senior-разработчикам. Мы — это Мария Орлова и сборная разработчиков «ТехноФабрики». Мы решили приоткрыть внутреннюю кухню, чтобы вы без розовых очков посмотрели на три сценария разработки приложений.

ИА «Республика
ИА «Республика

Взять junior специалистов

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

Максим Баринов, руководитель направления разработки «ТехноФабрики»

Считается, что на команде джуниор-разработчиков можно неплохо сэкономить. Если исходить из среднерыночной зарплаты сеньора в ± 160 тыс. руб (средне-рыноч-ной, а не в среднем по Москве), два программиста этого уровня на 3 месяца обойдутся в 960 тыс., а два джуниора с з/п по 80 тыс. всего в 480 000 рублей. Экономия на сеньорах сокращает себестоимость проекта на 50% и кажется, что можно сделать приложение в два раза круче за этот же бюджет.

Когда кажется, нужно креститься или пить галоперидол.

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

Знаете, чем вообще джуниор отличается от сеньора? Не опытом, хотя опыт важен. И не скоростью написания кода, хотя с этим не поспоришь.

«Младший» пишет код, который должен работать здесь и сейчас, а сеньор пишет код, который удобно поддерживать и масштабировать.

Максим Баринов, руководитель направления разработки «ТехноФабрики»

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

Об этом не принято говорить, но проект с джуниор-командой часто становится плацдармом для обучения. Ведь лучше всего люди учатся при погружении в проблему, наступая на собственные грабли и исправляя собственные ошибки. Это здорово, только не тогда, когда вы платите 1,5- 2 тыс. в час, чтобы начинающий программист мял и кромсал приложение, то есть важный кусочек бизнеса за ваши же деньги!

Сеньоры не потому сеньоры, что виртуозно владеют технологическим стеком.

У них дополнительно к hard-скиллам прокачаны soft-скиллы: коммуникация, поиск информации, умение задавать правильные вопросы, находить альтернативу, готовность браться за задачи, с которыми никогда не имел дела. У джуниоров с этим посложнее. Они либо задают массу априори банальных вопросов, с которыми сеньор уже разобрался или знает КАК разобраться. Либо боятся показаться начинающими, делают как есть, а потом все это правят, потому что задачу в поставленном контексте выполнить невозможно.

Фредерик Брукс, написавший легендарную в области разработки книгу «Мифический человеко-месяц, или Как создаются программные системы», как-то посчитал, что на коммуникацию и синхронизацию простых задач у джуниоров уходит 10-20% рабочего времени. То есть 20-22 часа за месяц junior тратит не на код, а на стыковку своей части плана с планом другого программиста.

Что в итоге? В итоге у вас будет приложение и, возможно, даже вовремя, но вам придется подгонять разработчиков, ловить баги, дергать команду на лечение сбоев и закрывать негативные отзывы в маркете. Когда жить скучно, это все весело и интересно. Но когда вы управляете бизнесом и зарабатываете деньги, гоняться за разработчиками с хлыстом — такое себе удовольствие.

Передать большой компании на субподряд

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

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

Вы ведь не думаете, что подрядчик возьмет с вас только сумму, которую сам заплатит за привлеченных программистов? Конечно, нет. Это ж не благотворительность, поэтому сверх ± 160 тыс. руб. на одного сеньора вы заплатите N тыс. рублей наценки.

Максим Никитин, Арт-директор

В сухом остатке приложение, сделанное кем-то и с какой-то наценкой. Хорошо, если этот кто-то — сеньор с манией ответственности и принципом «хорошо или никак». Еще лучше, если наценка на час его работы не превышает 10%.

Отдать senior-разработчикам

Подход и производительность сеньоров мы уже затронули в разделе про джуниоров, не будем повторяться. Наведем фокус на результат искомого проекта:

  • Изначально качественный чистый код. Для приложения это, как минимум, стабильность работы, без глюков и тормозов.
  • Функционал проверен через юнит-тесты, то есть программист имитировал сбои и устранил ошибки. Потестил каждое решение. Меньше багов — меньше негатива от пользователей, лучше рейтинг в сторе, больше скачиваний, дольше цикл жизни клиента и пр.
  • Код с комментариями и ссылками на исходники для тех, кто будет работать с приложением после. Здесь все просто: команда, подхватившая проект, откроет исходный код и сразу начнет работать над новыми опциями. Не тратя на обходные маневры свои часы и ваши деньги.
  • Экономия на сложных решениях. Просто потому что senior может предложить более эффективную и элегантную альтернативу, не выходя за рамки ТЗ и бюджета. Это как с переездом: заплатить 10 тыс. за полупустой кузов пятитонника или послушать совета бывалого грузчика и аккуратно забить тентованную «Газель» за 5 тыс. руб. В результате вы по любому переедете, но можно сделать это проще, дешевле и удобнее.

В конечном итоге все упирается в проще, дешевле и удобнее. Так что даже фиксированные 2 млн. на приложение можно потратить по-разному. Чтобы спокойно и без невроза, в обслуживании — дешевле, для пользователей — удобнее, для развития — проще.

22
6 комментариев

Как же отличить команду с джуниорами от сеньоров?

2
Ответить

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

С опытом технари + продажники любой вариант с пеной у рта и фактами докажут.

Оценочные статьи от самих разрабов - это ни разу не объективная тема (как и вообще оценочные), одеяло будет тянуться под свой состав и под свои кейсы. 

По факту - нет  "рыночной"  цены, не оценки невроза за n денег. Может сам заказчик истеричка, может wechat хотят под капотом и тп и тд (там не 2 ляма будет а все 200) По факту ребятам работать комфортно от 2 лямов вот и есть статья (комфортно это не значит что от балды придумали) 

Хотите сэкономить - ищите идентичные вашему кейсы и в целом портфолио и способы 100% убедиться, что команда - авторы, ну и с минимальным допилом чтобы был. А так, больше денег - меньше вероятность получить некачественный результат.

 средние зп 160к сенор? Вы очень круты в поиске кадров, адекватных меньше 250к не видел.

ПЦ Фаулер - вот да желательно чтобы каждый заказчик почитывал, перед стартом проекта который всех победит.

Ответить

А есть данные, сколько идет наценка на сеньора? Хотя в среднем по больнице.

1
Ответить

Раза в полтора-два. Но часов работы и время меньше, чем у новичков, так что часто выходит один к одному, только в комфортной атмосфере.

Ответить

...

Ответить

Как потратить 2 миллиона на разработку и получить приложение... Решение просто - 1) средства затраты должны соответствовать требуемому вознаграждению. 2) Если первое решается правильно, то найдете нужного специалиста (да, специалиста, и они есть). Большие компании это просто сборище звений для одной цепи (молодых и начинающих, лентяев или просто так спокойней живется местному "лидеру", ибо вдруг кто появится достойней его) 3) Вам нужен человеческий опыт и умение определять правдивость исполнителя по собеседованию, а не красивым конфетным оберткам (сайтам)....
если эти 3 составляющие не работают, то вы рискуете... впрочем как и с первыми тремя, но гораздо меньше. (ни кто из нас не знает что будет завтра)

Ответить