Как потратить 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 млн. на приложение можно потратить по-разному. Чтобы спокойно и без невроза, в обслуживании — дешевле, для пользователей — удобнее, для развития — проще.

0
6 комментариев
Написать комментарий...
Елена Симоненко

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

Ответить
Развернуть ветку
Вадим Чиняев

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

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

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

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

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

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

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

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

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

Ответить
Развернуть ветку
Tehnofabrica
Автор

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

Ответить
Развернуть ветку
Tehnofabrica
Автор

...

Ответить
Развернуть ветку
Richard Consuegra

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

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