На 100 рублей можно купить молока, хлеба и сытно поужинать. Или мороженого, лимонада и заморить червячка. Это мы к тому, что 2 миллиона на приложение тоже можно потратить по-разному: взять команду энергичных джуниоров, отдать проект большой компании или доверить senior-разработчикам. Мы — это Мария Орлова и сборная разработчиков «ТехноФабрики». Мы решили приоткрыть внутреннюю кухню, чтобы вы без розовых очков посмотрели на три сценария разработки приложений.
Знаете, чем вообще джуниор отличается от сеньора? Не опытом, хотя опыт важен. И не скоростью написания кода, хотя с этим не поспоришь.
Об этом не принято говорить, но проект с джуниор-командой часто становится плацдармом для обучения. Ведь лучше всего люди учатся при погружении в проблему, наступая на собственные грабли и исправляя собственные ошибки. Это здорово, только не тогда, когда вы платите 1,5- 2 тыс. в час, чтобы начинающий программист мял и кромсал приложение, то есть важный кусочек бизнеса за ваши же деньги!
Что в итоге? В итоге у вас будет приложение и, возможно, даже вовремя, но вам придется подгонять разработчиков, ловить баги, дергать команду на лечение сбоев и закрывать негативные отзывы в маркете. Когда жить скучно, это все весело и интересно. Но когда вы управляете бизнесом и зарабатываете деньги, гоняться за разработчиками с хлыстом — такое себе удовольствие.
Первое, с чем придется столкнуться в этом сценарии — проблема коммуникации и синхронизации между клиентом, подрядчиком и субподрядчиком. Три звена с прослойкой в виде менеджера подрядчика создают классический испорченный телефон. Он всегда, абсолютно всегда отражается на качестве и сроках разработки. Но остается еще вопрос денег.
Источник статьи: https://habr.com/ru/post/564078/
Взять junior специалистов
Считается, что на команде джуниор-разработчиков можно неплохо сэкономить. Если исходить из среднерыночной зарплаты сеньора в ± 160 тыс. руб (средне-рыноч-ной, а не в среднем по Москве), два программиста этого уровня на 3 месяца обойдутся в 960 тыс., а два джуниора с з/п по 80 тыс. всего в 480 000 рублей. Экономия на сеньорах сокращает себестоимость проекта на 50% и кажется, что можно сделать приложение в два раза круче за этот же бюджет.Сразу скажем, что мы ни в коем случае не против джуниор-разработчиков — каждый из топовых сеньоров когда-то был джуниором, где-то рос и на чем-то учился. Мы против попыток выжать премиальный код из начинающих программистов и против попыток продавать этот код как премиальный продукт.
Максим Баринов, руководитель направления разработки «ТехноФабрики»
Джуниор — инструмент простых задач. Он решает одну простую задачу за другой, строго по плану. Если план меняется или задача оказывается не такой уж простой, джуниор проваливается в ступор. Он не видит картины в целом и вместо поиска простых решений начинает изобретать велосипед. В графике разработки это выливается в срыв сроков и звучит так: «у нас небольшая проблема, но мы ее решаем», «есть некоторые сложности с этим функционалом» или «задача требует дополнительного времени».Когда кажется, нужно креститься или пить галоперидол.
Знаете, чем вообще джуниор отличается от сеньора? Не опытом, хотя опыт важен. И не скоростью написания кода, хотя с этим не поспоришь.
Почувствуйте разницу. На практике код, который «просто работает», на первом же обновлении выливается в бессильную ярость техподдержки, потому что малейшее изменение становится слишком дорогим и опасным. Но если техподдержка поругается и перетопчется, то для владельца каждый баг — отрицательный отзыв в сторе, каждый час доработки с костылями — растущий счет.«Младший» пишет код, который должен работать здесь и сейчас, а сеньор пишет код, который удобно поддерживать и масштабировать.
Максим Баринов, руководитель направления разработки «ТехноФабрики»
Об этом не принято говорить, но проект с джуниор-командой часто становится плацдармом для обучения. Ведь лучше всего люди учатся при погружении в проблему, наступая на собственные грабли и исправляя собственные ошибки. Это здорово, только не тогда, когда вы платите 1,5- 2 тыс. в час, чтобы начинающий программист мял и кромсал приложение, то есть важный кусочек бизнеса за ваши же деньги!
У них дополнительно к hard-скиллам прокачаны soft-скиллы: коммуникация, поиск информации, умение задавать правильные вопросы, находить альтернативу, готовность браться за задачи, с которыми никогда не имел дела. У джуниоров с этим посложнее. Они либо задают массу априори банальных вопросов, с которыми сеньор уже разобрался или знает КАК разобраться. Либо боятся показаться начинающими, делают как есть, а потом все это правят, потому что задачу в поставленном контексте выполнить невозможно. В среднем на коммуникацию и синхронизацию простых задач у джуниоров уходит 10-20% рабочего времени. Это не мы, Фредерик Брукс и его «Мифический человеко-месяц, или Как создаются программные системы». В среднем по больнице это 20-22 часа за месяц, которые junior тратит не на код, а на стыковку своей части плана с планом другого программиста.Сеньоры не потому сеньоры, что виртуозно владеют технологическим стеком.
Что в итоге? В итоге у вас будет приложение и, возможно, даже вовремя, но вам придется подгонять разработчиков, ловить баги, дергать команду на лечение сбоев и закрывать негативные отзывы в маркете. Когда жить скучно, это все весело и интересно. Но когда вы управляете бизнесом и зарабатываете деньги, гоняться за разработчиками с хлыстом — такое себе удовольствие.
Передать большой компании на субподряд
Это всегда история с открытой концовкой....Начинается все с сайта или отличной посадочной страницы с предложением по разработке приложения. Снаружи серьезная фирма, хороший бэкграунд, много направлений и стоимость внушает уважение. Вот только за кулисами проект с отличными продажниками и без команды разработки. Когда закрывается сделка, компания судорожно ищет свободную команду на подряд или выкупает часы отдельных разработчиков.Первое, с чем придется столкнуться в этом сценарии — проблема коммуникации и синхронизации между клиентом, подрядчиком и субподрядчиком. Три звена с прослойкой в виде менеджера подрядчика создают классический испорченный телефон. Он всегда, абсолютно всегда отражается на качестве и сроках разработки. Но остается еще вопрос денег.
В сухом остатке приложение, сделанное кем-то и с какой-то наценкой. Хорошо, если этот кто-то — сеньор с манией ответственности и принципом «хорошо или никак». Еще лучше, если наценка на час его работы не превышает 10%.Вы ведь не думаете, что подрядчик возьмет с вас только сумму, которую сам заплатит за привлеченных программистов? Конечно, нет. Это ж не благотворительность, поэтому сверх ± 160 тыс. руб. на одного сеньора вы заплатите N тыс. рублей наценки.
Максим Никитин, Арт-директор
Отдать senior-разработчикам
Подход и производительность сеньоров мы уже затронули в разделе про джуниоров, не будем повторяться. Наведем фокус на результат искомого проекта:- Изначально качественный чистый код. Для приложения это, как минимум, стабильность работы, без глюков и тормозов.
- Функционал проверен через юнит-тесты, то есть программист имитировал сбои и устранил ошибки. Потестил каждое решение. Меньше багов — меньше негатива от пользователей, лучше рейтинг в сторе, больше скачиваний, дольше цикл жизни клиента и пр.
- Код с комментариями и ссылками на исходники для тех, кто будет работать с приложением после. Здесь все просто: команда, подхватившая проект, откроет исходный код и сразу начнет работать над новыми опциями. Не тратя на обходные маневры свои часы и ваши деньги.
- Экономия на сложных решениях. Просто потому что senior может предложить более эффективную и элегантную альтернативу, не выходя за рамки ТЗ и бюджета. Это как с переездом: заплатить 10 тыс. за полупустой кузов пятитонника или послушать совета бывалого грузчика и аккуратно забить тентованную «Газель» за 5 тыс. руб. В результате вы по любому переедете, но можно сделать это проще, дешевле и удобнее.
Источник статьи: https://habr.com/ru/post/564078/