Ваша заявка получена!
Наш менеджер вскоре свяжется с Вами!

Напишите письмо
команде Rubedite

Я бы хотел поговорить о...
Размер файла слишком большой
Главная Блог Как правильно заказать сайт или приложение под ключ? Часть 2: выбор разработчика

Как правильно заказать сайт или приложение под ключ? Часть 2: выбор разработчика

Выбор подрядчика (без ущерба своему проекту)

Это вторая статья серии по правильной подготовке к началу проекта. Здесь мы поговорим о том, кто такой подрядчик в разработке и как с ним работать. Чем он может помочь вам, а чем вы - ему. Объясним, почему возникает непонимание и горят сроки, как общаться с партнёром чтобы такого не возникало, и на что обращать внимание в первую очередь.

Все статьи серии:

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

Разыгрываем по ролям

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

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

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

Готовимся к кастингу

Прежде чем бросаться размещать объявление, надо ответить себе на вопросы (и записать ответы):

  • Для чего нужна программа?
  • Как пользователь с ней будет работать?
  • С какими внешними системами программа будет взаимодействовать?
  • Какой набор функций будет в программе?
  • Какие из функций обязательные, какие важные, а какие неважные?
  • Какие этапы выпуска программы предполагаются: proof of concept, MVP, альфа-версия, бета-версия, релиз?
  • В каком порядке, на каких этапах должны быть реализованы функции?
  • Какие предельные сроки запуска по каждому этапу?

Для пользовательских форм желательно подготовить прототипы, для внешних интерфейсов - спецификации полей и протоколы обмена. Имея детальный набор описаний, вы сможете разговаривать с разработчиками на одном языке, получая в ответ честную оценку, а не грубые прикидки: "за полгода, наверное, точно сделаем, стоить будет 100500". Помимо этого во много раз уменьшится вероятность событий, как в старом советском мультике...


Ну вы поняли...


Начинаем отбор кандидатов

Где же найти хорошего поставщика? Мы могли бы просто дать вам список ТОП-100 крутых разработчиков, но мы не справочник "Желтые страницы" и не рекламный портал. К тому же, мы не хотим загонять вас в рамки таблицы, для вашей уникальной идеи в ней может не оказаться партнера.

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

Конечно, "сарафанное радио" никто не отменял. Можно просто спросить, с кем работали ваши друзья, коллеги и знакомые, почитать отзывы и обзоры. Однако ваш выбор должен быть осознанным и обоснованным, чтобы не попасть пальцем в небо (точнее, мимо релиза).

По мерке мастера знать
Или критерии выбора хорошей команды

Мы предлагаем оценивать будущих партнеров по следующим признакам:

  1. Качество;
  2. Гибкость;
  3. Технологическая экспертиза;
  4. Команда;
  5. Соотношение цены и качества.

Остановимся на этих критериях более подробно.

Качество

Этот показатель - весьма относительный, но оценить его можно по тому, как работает поставщик в целом.

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

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

Рекомендации: желательно получить список клиентов, есть смысл запросить рекомендации и отзывы, посмотреть примеры работ, программ, дизайнов.

Гибкость

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

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

Технологическая экспертиза

В принципе, для вашего приложения не так важно, будет ли оно написано на JAVA или Kotlin. Но если девелоперы в команде владеют разными технологиями и языками программирования, умеют применять современные подходы к разработке - это будет хорошо.

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

Команда

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


Соотношение цены и качества

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

Типичные проблемы недорогих команд:

  • Мало разработчиков, ограничены ресурсы - сроки плывут, накапливается технический долг;
  • Качество поддержки и доработок со временем падает - разработчик отвлекается на новые проекты, где больше денег;
  • Нет аналитиков, в лучшем случае, один менеджер, который разрывается между вами и разработчиком;
  • Проблемы в общении - неверное понимание задач, непонимание ваших целей;
  • Разработка "на коленке" - нет системы учета задач, слабый контроль версий, нет разделения сред разработки.


Владение исходным кодом сейчас уже не так важно, но бюджетные поставщики могут и не отдать исходники.

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

Хорошая команда знает стоимость своих услуг, возьмет некоторое время на оценку и сформирует для вас прозрачное коммерческое предложение с разбивкой по работам/этапам и точной ценой. И даже некоторая неопределенность в проекте не станет помехой, хороший партнер возьмет эти риски на себя.

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

На пути к идеалу
Можно ли еще лучше?

Предположим, короткий список потенциальных разработчиков (не более 5 имен) составлен. Какие еще моменты могут повлиять на выбор партнера, чтобы он был близок к вашему идеалу?


Предлагаем добавить еще три качества идеальной команды:

  1. Желание постоянно развиваться и улучшать процесс работы;
  2. Отличные навыки общения;
  3. Дисциплинированность и ответственность.

Через развитие к совершенству

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

Разработчикам интересны новые идеи на рынке, они с удовольствием принимают вызовы и берутся за сложные задачи. Члены команды поддерживают свои компетенции, изучают новые технологии и подходы.

Коммуникации без разрывов

Хорошая коммуникация - важный момент на пути к успеху. Представитель идеальной команды будет информировать вас о состоянии проекта, докладывать о достижениях и проблемах (последнее особенно важно).

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

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

(Источник: pixabay.ru)



Дисциплина - залог победы

Еще одно важное качество, которое позволит вывести проект на орбиту - ответственность и внутренняя дисциплина партнера.

Как это может проявляться?

  • Демоверсия выходит точно в срок, не зависимо от внешних обстоятельств, прогноза погоды или расположения звезд.
  • Релизы публикуются по согласованному графику.
  • Выделенный контакт от команды доступен для связи по телефону и Скайпу.
  • Ответы на письма не задерживаются, тикеты в JIRA меняются статус на In Progress в течение 10 минут после создания.
  • Партнер признает свои ошибки и предлагает пути их устранения.

Если с вашей стороны с этим тоже все хорошо, то победа - почти у вас в кармане.

Заблуждения и завышенные ожидания

К сожалению, предметы возникают из ниоткуда только в сказках, в жизни кушать пироги за вас "Двое из ларца" не будут.

После выбора партнера работа только начинается и ваша роль здесь - ведущая. Взгляните на себя со стороны, задайте себе вопрос:

"А что я ожидаю от сотрудничества? Готов ли я к равноправным партнерским отношениям?"

Частые ошибки заказчиков:

  • Выбор партнера по совету друга;
  • Недооценка важности коммуникаций с партнером;
  • Недоверие и избыточный контроль партнера.

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

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

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

Тем не менее, налаживая коммуникации, воздержитесь от чрезмерного контроля.

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

Сверхконтроль только все испортит - уничтожит инициативу и креативность - то, что вы хотели видеть у партнера.

Заключение

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

Мы же, в свою очередь, готовы на собственном примере показать, что такое ответственный подрядчик. Обращайтесь!