Как работать со студиями мобильной разработки — книга-руководство от Google

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

Редакция vc.ru публикует перевод книги с разрешения представителей компании.

Разработать приложение на Android своими силами возможно далеко не всегда. Вот почему рано или поздно вам может потребоваться помощь извне. В зависимости от потребностей вашего бизнеса вы можете нанять как одного человека (консультанта, фрилансера или специалиста по мобильному контенту), так и целое агентство (системный интегратор, студия мобильных приложений, dev shop или разработчик приложений).

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

Это руководство дополняет книгу «Секреты успеха приложений в Google Play». Там вы найдете лучшие кейсы и советы по использованию инструментов Google, которые помогут вам и вашему агентству улучшить качество приложений, увеличить полезную аудиторию, вовлеченность и удержание пользователей, а также зарабатывать больше на Google Play.

Оглавление

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

1. Подготовка

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

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

Решите, стоит ли обращаться в агентство

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

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

Вопросы для самопроверки:

  • Насколько хорошо мы представляем, что такое мобильное приложение?
  • Хотим ли мы контролировать разработку приложения полностью?
  • Может ли разделение тех, кто разрабатывает приложение и кто принимает бизнес-решения, осложнить их взаимодействие, повлиять на качество приложения и его соответствие нуждам компании?
  • Хватает ли у нас времени и ресурсов, чтобы нанять собственную команду разработчиков и обеспечить ее всем необходимым?
  • Смогут ли агентство или фрилансер создать востребованное приложение?

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

Назначьте ответственных за разработку приложения и распределите полномочия

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

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

Как этого достичь:

  • Распределите отобранных людей по предполагаемым должностям и отделам. В стартапе или в небольшой компании они могут одновременно занимать несколько позиций.
  • Помогите каждому сотруднику или отделу определить зоны его ответственности и требования к составлению отчетности.
  • Вы также можете обратиться в кадровое агентство. Там вам помогут грамотно составить должностные инструкции и сформировать требования к руководителям. Как правило, агентства обладают солидным опытом благодаря участию в аналогичных проектах, поэтому помогут вам избежать многих неприятностей. Зачастую подобная деятельность предлагается в рамках услуги «Фаза разъяснения».

В каждом проекте обязательно должны быть предусмотрены следующие должности:

Как работать со студиями мобильной разработки — книга-руководство от Google

Вопросы для самопроверки:

  • Всех ли должностных лиц я назначил? Ведь могут существовать и другие должности, затрагивающие более узкие вопросы. Например тестирование приложения на приемлемость для пользователя (User Acceptance testing) или разработка пользовательского интерфейса.
  • Все ли должностные обязанности я определил? Понимают ли руководители, что от них требуется?
  • Подготовил ли я для каждого руководителя актуальные отчетные параметры для сверки?
  • Есть ли у меня подходящая кандидатура на должность директора по проекту? Есть ли возможность обратиться на более высокий уровень, если у руководителей возникнут разногласия?
  • Может ли методика Design sprint помочь руководителям точнее понять требования, предъявляемые на данном этапе?
  • Достаточно ли ясно я осознаю, какие проблемы пытаюсь решить?

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

Выберите подходящий интерфейс: веб или самостоятельное приложение

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

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

Если вы решили создать только приложение, пользователи будут вынуждены переходить с вашего сайта в магазин приложений, а это может быть неудобно:

  • на их устройстве может не оказаться свободного места;
  • им будет жалко трафика;
  • им не захочется засорять устройство еще одним приложением;
  • им хочется воспользоваться сервисом или услугой здесь и сейчас, они не будут тратить время на установку приложения.

На практике:

  • Используйте Material Design, чтобы все компоненты приложения выглядели единообразно и не портили впечатление.
  • Чтобы содержимое приложения прошло индексирование Google, внедрите App Indexing API. Это позволит вам бесплатно стимулировать внедрение приложения и повысить осведомленность пользователей.
  • Рассмотрите возможность выпустить приложение и на Android Wear, Android Auto или Android TV.
  • Скоординируйте выпуск приложения на разных платформах и подготовьте общую маркетинговую кампанию для достижения максимального эффекта. Помните: администрация Google Play рассматривает приложения в течение нескольких часов, а в других сервисах это может занять гораздо больше времени.
  • Чем занимаются мои конкуренты?
  • На какие страны мы ориентируемся? Есть ли там ограничения на распространение информации, отсутствуют ли некоторые устройства? Это может повлиять на количество загрузок приложения.

Сформируйте бюджет проекта с учетом долгосрочной ценности приложения для бизнеса

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

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

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

Вопросы для самопроверки:

  • Как мне подготовить экономическое обоснование для ROI приложения? Его целью может стать увеличить прибыль, повысить осведомленность о бренде (количество загрузок), удержать клиентов или принять контрмеры в ответ на действия конкурентов.
  • Как соотносятся бюджеты приложения для разных платформ? Не преобладает ли одна платформа над другой? Имеет ли это смысл? Соответствует ли объем инвестиций потенциальному количеству загрузок и целевой аудитории?
  • Не осталось ли дополнительных расходов, которые я забыл упомянуть? Например, расходы на маркетинг и поддержку приложения.
  • Понимает ли моя организация разницу между обычным приложением и приложением высокого качества? Какое влияние это оказывает на мой бизнес?

Определите, по каким критериям вы будете оценивать успешность приложения. Поставьте цели проекта и разработайте ключевые показатели эффективности (KPI), чтобы оценивать успешность и качество приложения.

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

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

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

Инструменты аналитики позволяют вам лучше понимать поведение пользователей и увеличивает эффективность работы. Наряду с другими способами, они помогут вам грамотно разделить клиентскую базу на сегменты, поддержать маркетинговую деятельность, собрать материал для A/B-тестирования и устранить ошибки в коде.

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

Вопросы для агентства:

  • Знаете ли вы, как внедрить или создать аналитические инструменты для приложения с нуля?
  • Как вы сможете применить собранную информацию для разработки и тестирования приложения?

Вопросы для самопроверки:

  • Как мне сделать так, чтобы агентство и моя организация приняли парадигму вовлечения аудитории на основе анализа пользовательских данных?
  • Какие показатели имеют значение для моей компании?
  • Есть ли у меня возможность своевременно делиться с агентством информацией о поведении пользователей?

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

2. Как выбрать подходящее агентство

При выборе агентства стоит выяснить, достаточно ли у претендентов опыта и возможностей для реализации вашего проекта. Оценить способности агентства можно при помощи грамотно составленного запроса предложения (Request for proposal, RFP) или в ходе неформального интервью с его представителями. Этот этап ни в коем случае нельзя игнорировать.

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

Составьте список перспективных агентств

Составьте список агентств, которым вы отправите запрос предложения.

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

Как этого достичь:

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

Вопросы для самопроверки:

  • Собираюсь ли я привлечь к работе над приложением только одно агентство?
  • Как много откликов я готов получить? Их изучение займет довольно много времени, зато позволит увидеть, как отличаются подходы разных агентств, и избежать подводных камней в дальнейшем. Более того, вы сможете оценить преимущества и риски каждого подхода.

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

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

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

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

В дополнение к уникальным требованиям в RFP большинства успешных приложений были указаны следующие требования:

  • Удобство использования на телефонах, планшетах и комбинированных устройствах. Изучите раздел нашего сайта, посвященный разработке качественных приложений для планшетов, или запись в нашем блоге.
  • Придерживайтесь принципов дизайна Android. Уделите особое внимание разделам, посвященным созданию панели действий (Action Bar), бокового меню (Navigation), а также разделу о разработке приложения под разные типы устройств (Pure Android). Полезные рекомендации есть в статье «10 вещей, на которые следует обратить внимание при разработке приложения для миллиарда пользователей».
  • Убедитесь, что ваше приложение соответствует чек-листу качественного приложения.
  • Убедитесь, что приложение выполнено в стиле Material Design.
  • Пусть приложение будет изначально полностью локализовано для ключевых регионов, даже если сейчас вы нацелены всего на одну страну: в дальнейшем локализация обойдется вам гораздо дороже.
  • Если это допустимо, используйте дополнительную функциональность Android и сервисов Google Play, чтобы удивить пользователей. Добавьте возможность получать уведомления, устанавливать особые виджеты (в том числе для блокировки экрана), делиться контентом. Внедрите API Google Maps, динамичный фон, NFC, DayDreams.
  • Добавьте подходящие сервисы Google Play — например, рейтинг пользователей.
  • Чтобы люди чаще делились приложением со своими знакомыми, добавьте функцию App Invites.

Вопросы для самопроверки:

  • Не требую ли я чересчур много (или, наоборот, чересчур мало) относительно степени сложности моего приложения?
  • Планирую ли я запустить приложение сразу в нескольких странах? Если да, то хочу ли я, чтобы полной локализацией приложения занималось только одно агентство?
  • Стремимся ли мы к кроссплатформенной разработке и внедрению инноваций?

Совет: вы можете узнать больше о самых главных нововведениях Android из книги «Секреты успеха приложения на Google Play».

Найдите подтверждение того, что агентство гордится результатами своей работы

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

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

Вопросы для агентства:

  • Не забыли ли мы включить в RFP какой-нибудь пункт, который мог бы улучшить наше приложение и повлиять на его успех?
  • Можете ли вы вспомнить ситуацию, когда вы предлагали клиенту оригинальную идею, повлиявшую на успех приложения?
  • Насколько активны и заметны ваши сотрудники в сообществе разработчиков? Участвуют ли они в развитии местного сообщества, посещают ли конференции, ведут ли тематические блоги, выступают ли в качестве экспертов на форумах?

Вопросы для самопроверки:

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

Оцените опытность и надежность агентства, а также его соответствие вашим требованиям

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

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

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

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

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

На практике:

  • Желательно, чтобы предыдущие клиенты агентства были из той же бизнес-области, что и ваша компания.
  • Агентство должно быть готово подтвердить квалифицированность разработчиков. Они могут посоветовать им окончить курсы Android Udacity или получить нано-степень (Nano degree – термин, придуманный и зарегистрированный компанией Udacity. Не считается ученой степенью, но дает преимущество при трудоустройстве в ИТ-компанию — прим. ред.). Компания Google поощряет эту практику, поскольку она позволяет проводить профильную экспертизу проектов слушателей курсов и обеспечивает коллективное развитие системы Android.
  • Когда отдел продаж обещает хорошую прибыль, остерегайтесь нарочно занижать предварительные оценки проекта для заключения договора с агентством. Представленная сумма никогда не будет отражать объем инвестиций, необходимых для чего-то большего, чем просто жизнеспособное приложение.

Вопросы для агентства:

  • Кто ваши предыдущие клиенты? Кем были ваши крупнейшие клиенты? Какие приложения вы создали для них?
  • На чем специализируется команда, которую вы планируете назначить для разработки приложения?
  • Кто из вашей команды прошел курсы Android Udacity? Какие именно курсы они закончили?
  • Обладают ли ваши люди навыками в смежных областях? Умеет ли кто-нибудь создавать приложения для Android Wear, Android TV, Android Auto или «интернета вещей»?
  • Основываясь на своих знаниях о моей компании, можете ли вы предположить, какие риски возникнут в ходе нашего сотрудничества? Возникали ли аналогичные риски при работе над другими проектами? Как вы с ними справлялись?

Вопросы для самопроверки:

  • Кто из тех, кого я знаю, уже работал с этим агентством?
  • Хороши ли приложения, ранее созданные этим агентством (то есть получают ли они в Play Store рейтинг выше четырех звезд)? Можем ли мы дать агентству достаточно полномочий, чтобы влиять на дизайн и вектор развития продукта и улучшить оценки?
  • Может ли моя компания полностью доверять агентству?
  • Можем ли мы изменить привычный стиль работы, чтобы облегчить сотрудничество с агентством?
  • Какие конфликты могут возникнуть из-за наших способов работы и как нам снизить риск их возникновения?

Убедитесь, что агентство следит за обновлениями компонентов Android

Поинтересуйтесь, осведомлены ли сотрудники агентства о последних изменениях компонентов вселенной Android.

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

Сотрудникам агентства достаточно следить за этими ресурсами:

Определите, какое влияние оказывает пользовательский опыт на разработку интерфейса приложения

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

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

Как этого достичь:

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

Вопросы для агентства:

  • Каким опытом разработки дизайна Android-приложений обладают ваши сотрудники?
  • Можете ли вы дать гарантии, что дизайн приложения будет разработан в соответствии с практическими рекомендациями Google?
  • Каков ваш опыт разработки приложений с Material Design?
  • Какие пользовательские тесты вы будете осуществлять на каждом этапе разработки дизайна?
  • Как вы обычно используете данные о пользовательском поведении в процессе разработки дизайна?

Вопросы для самопроверки:

  • Удалось ли агентству внятно объяснить, как они собираются использовать принципы Material Design в приложении? Material Design сделает приложение интуитивно понятным для пользователей и сократит время на их адаптацию.
  • Стоит ли мне попробовать создать такой дизайн мобильного приложения, который будет выигрышно смотреться на любом Android-устройстве?

Убедитесь, что вы в состоянии оценить опыт агентства в дизайне Android-приложений, ведь для Android, iOS и мобильного веба используются разные UX-гайдлайны.

Подсчитайте ваши общие расходы с учетом стоимости услуг агентства

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

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

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

Характерные практики:

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

Возможно, вы захотите поощрить агентство или разделить с ним риски. Чтобы у сотрудников был стимул создать более качественный продукт, имеет смысл пообещать им дополнительные бонусы. Например, в том случае, если рейтинг приложения после 1000 загрузок окажется выше четырех звезд. Именно рейтинг определяет, насколько охотно аудитория будет скачивать ваше приложение.

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

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

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

Вопросы для агентств:

  • Какова ваша модель ценообразования?
  • Покрытия каких расходов вы ожидаете с нашей стороны?

Вопросы для самопроверки:

  • Какие параметры мне нужно учесть, чтобы составить экономическое обоснование проекта для расчета ROI приложения? Это могут быть прибыль, известность бренда (в данном случае это значение выражается в количестве загрузок), удержание клиентов, необходимость ответить на выпад конкурентов.
  • Хотим ли мы разделить риски с агентством или предложить его сотрудникам материальный стимул?
  • Если мы выберем агентство с фиксированными ценами, то как решать проблемы с внесением изменений в проект?
  • Привлекает ли агентство иностранных разработчиков или работает по жестко фиксированным базисным ценам? Нужно ли нам разработать детализированные функциональные требования, чтобы получить желаемый результат? Не станет ли возможный недостаток гибкости проблемой?
  • Подходит ли для моей компании вариант, когда агентство придерживается модели разделения последующей прибыли и готово создать приложение за весьма скромное вознаграждение, а то и вовсе бесплатно?
  • Есть ли дополнительные расходы, которые я не учел? Например, расходы на маркетинг или на обслуживание.
  • Какова моя стратегия ведения переговоров?
  • Если услуги агентства стоят дешевле за счет привлечения специалистов из других стран, то как дистанция повлияет на качество приложения? Личные встречи и общие совещания оказываются на порядок эффективнее, но как я могу снизить риск в данной ситуации?
  • Когда я определил стоимость услуг для каждого агентства и сопутствующие расходы, то как это повлияет на ROI и цели проекта?
  • Внес ли я в бюджет резервные средства на случай непредвиденных расходов?

Подумайте, как грамотно составить договор

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

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

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

Вопросы для агентства:

  • Какой типовой договор используется в вашем агентстве?
  • Есть ли у вас какие-нибудь особенные условия, которые вы хотите включить в договор?
  • Можете ли вы приступить к работе до того, как мы подпишем документы?
  • На каких устройствах вы будете тестировать приложение? Сможете ли вы представить результаты?

Вопросы для самопроверки:

  • Какой типовой договор принято использовать?
  • Есть ли у нас особые условия, которые мы хотим добавить в договор?
  • Можем ли мы провести переговоры внутри нашей компании с привлечением штатного юрисконсульта или нам следует обратиться к специалисту по организации переговоров?
  • Если мы начнем работу над проектом до подписания договора, не скажется ли это на привлечении ресурсов для проекта?

3. Начинаем работать над проектом

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

  • Убедитесь, что ваши сотрудники достаточно компетентны.
  • Подготовьте бриф для агентства.
  • Убедитесь, что всем хватает мест.
  • Приготовьтесь работать с несколькими агентствами

Убедитесь, что ваши сотрудники достаточно компетентны

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

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

Вопросы для агентства:

  • Какие задачи нам следует взять на себя?
  • Какие навыки нам для этого потребуются?
  • Можете ли вы провести или порекомендовать уроки для развития этих навыков?

Вопросы для самопроверки:

  • Знаком ли наш отдел маркетинга с руководством Google, которое посвящено вопросам публикации и продвижения приложения? Также там содержатся результаты экспериментов со страницами приложения в Google Play.
  • Достаточно ли у наших сотрудников навыков дизайна и копирайтинга для создания красивого баннера приложения в Google Play, оформления скриншотов и подготовки интересного описания?

Подготовьте бриф для агентства

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

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

На практике:

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

Убедитесь, что всем хватает мест

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

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

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

На практике: если это возможно, объедините обе команды на базе вашей компании или на базе агентства.

Вопросы для агентства:

  • Будет ли ваша команда работать над проектом в отдельном помещении?
  • Хотели бы вы временно переехать в наш офис?
  • Можете ли вы временно разместить нашу команду в своем офисе?
  • Насколько удобно и просто перемещаться между нашими офисами?
  • Могу ли я найти общее помещение для наших команд?
  • Есть ли у меня доступ к конференц-залу компании? Смогу ли я гарантировать его доступность?
  • Кто организует переезд моей команды — я или агентство?

Приготовьтесь работать с несколькими агентствами

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

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

Почему это так важно: разъясняя каждому агентству стоящие перед ними задачи и создавая честные и открытые отношения, вы скорее достигнете общего видения проекта, что хорошо скажется на готовом продукте.

Вопросы для агентств:

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

4. Грамотное управление — залог качественного приложения

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

  • Поддерживайте открытые отношения.
  • Убедитесь, что методология разработки понятна вашей команде.
  • Подготовьтесь к изменениям.
  • Добивайтесь совершенства архитектуры приложения за счет скрупулезного тестирования кода и обработки результатов.
  • Перед запуском протестируйте приложение на ограниченной группе пользователей.
  • Обеспечьте доступ агентства к вашему аккаунту в Google Play Developer Console.

Поддерживайте открытые отношения

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

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

На практике:

  • Поощряйте развитие личных отношений. Убедитесь, что ваши ключевые сотрудники всегда на связи и способны встретиться с представителями агентства, ответить на их письма или звонки. Практикуйте политику открытых дверей.
  • Регулярно назначайте встречи и совещания. Для многих проектов имеет смысл созваниваться или встречаться ежедневно: это помогает оценить эффективность работы команды и ее прогресс, а также познакомиться с проблемными вопросами.
  • Постарайтесь улучшить взаимодействие с удаленными командами при помощи Google Hangouts, но все же требуйте их присутствия на важных совещаниях.
  • Регулярно взаимодействуйте с руководителями проекта вплоть до его завершения. Это позволит понять, удовлетворяются ли их потребности и не нужно ли повысить планку бизнес-требований.
  • Остерегайтесь культурных различий и предубеждений при работе с командами из других стран.

Вопросы для агентства:

  • Какими каналами коммуникации, которых нет в нашем проекте, вы обычно пользуетесь? Стоит ли нам воспользоваться ими?
  • Легко ли вашим сотрудникам удается связаться с моими? Если нет, как это можно исправить?
  • Если возникнут проблемы, насколько легко агентство сможет о них рассказать?
  • Если агентство обнаружит противоречие в наших функциональных требованиях, насколько легко оно сможет рассказать нам об этом?
  • Как мы управляем рисками?

Убедитесь, что методология разработки ясна и понятна вашей команде

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

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

На практике:

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

Вопросы для агентства:

  • Какую методологию разработки вы используете?
  • Какое место в ней отведено конечному пользователю?
  • С какими трудностями вы сталкивались раньше при использовании этой методологии? Как мы можем избежать этих ошибок теперь?

Вопросы для самопроверки:

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

Подготовьтесь к изменениям

Управляйте процессом так, чтобы быстро и эффективно справляться с изменениями.

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

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

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

На практике:

  • Убедитесь, что процесс управления проектом хорошо отлажен, а сам проект реализуется при помощи одной из одобренных методологий, таких как PRINCE, APM, Scrum, Agile и другие.
  • Какую методологию управления проектом используете вы?
  • Как возможные изменения функциональных требований проекта повлияют на выбранную методологию и существующую документацию?
  • Учел ли я в бюджете проекта возможные изменения?
  • Создаем ли мы приложение с учетом изменений в будущем? Не придется ли нам начинать все сначала, если мы захотим добавить новых функций?
  • Достаточно ли я сделал для того, чтобы первая версия приложения совпала с ожиданиями других сотрудников моей компании?

Добивайтесь совершенства архитектуры приложения за счет скрупулезного тестирования кода и обработки результатов

Разрабатывайте архитектуру приложения одновременно с дизайном. Также создайте свой набор тестов — их результаты станут основной документацией для написания кода.

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

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

  • Разрабатывайте приложение для актуальной версии Android.
  • Ищите проверенные и надежные архитектурные шаблоны и используйте их в своем проекте.
  • Обязательно проверяйте приложение на простоту использования.
  • Вычислите, какими устройствами пользуется ваша целевая аудитория, и тестируйте приложение в первую очередь на них. Затем в этот список можно добавить и другие устройства, в зависимости от их приоритета.
  • Попробуйте «зубной тест», который проходит каждый продукт от Google. Если приложение будет использоваться ежедневно по два раза в день, то не возникнет ли у пользователя раздражение, которое со временем будет только расти?
  • Совершенствуйте продукт с самого начала.

Вопросы для агентства:

  • Как вы определите подходящие для нашего приложения кодовые шаблоны?
  • Какие тесты на простоту использования приложения вы проводите и как вы это делаете? Какую среду тестирования планируете использовать? Можете ли вы привести примеры успешно реализованных тестов?
  • Планируете ли вы воспользоваться специальными сервисами для тестирования приложений, такими как Google Cloud Test Lab?
  • Насколько активно вы планируете использовать автоматизированные тесты?
  • Насколько часто вы будете осуществлять тестирование?
  • На каких устройствах, включая планшеты, вы планируете тестировать приложение? Какие именно тесты (например, модульное тестирование) включены в смету, а какие могут потребоваться дополнительно?
  • Есть ли у вас библиотека устройств для проведения тестов? Потребует ли этот проект добавления в нее новых устройств? Если мы дадим согласие и средства на приобретение новых устройств для тестирования, сможем ли мы получить их обратно после завершения работ?
  • Можете ли вы дать какие-нибудь гарантии — например, устранить выявленные ошибки в течение трех месяцев? Это условие подходит, если вы оплачиваете услуги агентства по фиксированной цене.
  • Как вы будете проводить регрессионное тестирование?

Вопросы для самопроверки:

  • Какие отчеты о проведенных тестах мне потребуются?
  • Нужно ли мне обратиться к третьей стороне для оценки замечаний и итогов тестирования, чтобы гарантировать хорошее состояние кода в будущем?
  • Насколько успешно мы тестируем взаимодействие компонентов системы?
  • Насколько успешно мы тестируем приемлемость для пользователя?
  • Нужна ли нам собственная библиотека тестовых устройств? Хотим ли мы ее создать?
  • Предположим, что это не тривиальная задача: как нам поддерживать актуальность библиотеки тестовых устройств?

Перед запуском протестируйте приложение на ограниченной группе пользователей

Для выбора целевой группы используйте опции альфа- и бета-тестирования в Google Console.

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

На практике:

  • Привлекайте для тестирования подписчиков из аккаунтов организации в социальных сетях, при этом старайтесь отбирать как лояльную аудиторию, так и критиков.
  • Определите, насколько жестко вы хотите контролировать ход бета-тестов. Если вам нужно пригласить избранных пользователей, анонсируйте закрытый бета-тест.
  • Анонсируя открытый бета-тест, ограничьте количество участников, чтобы лучше контролировать его проведение.
  • После того как вы учли мнение пользователей и провели работу над ошибками, следует показать новую версию приложения более широкой аудитории. Для организации поэтапного релиза воспользуйтесь соответствующей функцией в Developer Console. Если возникнут неожиданные проблемы, прервите тестирование и снова проведите работу над ошибками.
  • Как вы предпочитаете выпускать обновления приложения — сразу или поэтапно, после бета-тестов?
  • В каких случаях вы эффективно использовали бета-тесты и поэтапный релиз?
  • Понимают ли в моей организации всю важность бета-тестов и поэтапного запуска приложения и готовы ли они на этой стадии оказать поддержку агентству? Нужно ли скорректировать нашу корпоративную культуру, чтобы донести эту мысль до руководителей компании?
  • Учитывает ли наша корпоративная культура, что при разработке дизайна приложения нужно отталкиваться от мнения конечного пользователя? Можем ли мы осуществить большую часть работы, связанной с организацией бета-тестов? Если нет, то как можно исправить эту ситуацию?

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

Дайте агентству доступ к вашему аккаунту в Google Play Developer Console

Для безопасной публикации приложения лучше всего добавить агентство в ваш аккаунт Google Play Developer Console в качестве пользователя, без предоставления учетных данных — логина и пароля.

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

Как это сделать:

  • Зайдите в Developer Console, выберите пункт меню Settings.
  • В левом меню выберите User accounts & rights, а затем — Invite New User.
  • Введите адрес почтового ящика нового пользователя и укажите дату истечения прав доступа.
  • Назначьте статус или выберите разрешения индивидуально. Если вы хотите ограничить активность пользователя одним приложением, оставьте разделы Permissions невыбранными. После того как вы отправите приглашение, вы сможете добавить особые права.
  • Нажмите Send Invitation.

На практике:

  • Создавать новых пользователей для ваших сотрудников или сотрудников агентства стоит только в том случае, если доступ к консоли им действительно необходим. Не стоит делать это «на всякий случай».
  • Если в вашем аккаунте находится несколько приложений, над которыми работают разные агентства, то для каждого следует создать собственный набор разрешений.
  • Какова стратегия организации техподдержки приложения, как вы будете реагировать на непредвиденные ошибки приложения, отзывы и вопросы пользователей? Не будет ли она противоречить стратегии других каналов поддержки продукта?

Раздел 5. Полезные ресурсы

Рекомендуем вам оставаться в курсе всех новинок из мира Android. Для этого посещайте следующие ресурсы:

5 комментариев

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

1

Марк Цукерберг тоже когда то за веб так думал.

1

Однозначно в закладки. Спасибо!

хотя вообще насчет веба - неплохой совет; только не как кроссплатформенное приложение, а как удобная мобильная версия сайта и ссылка на приложение внизу

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

А когда мы свой один участок работ сделали и нужно было рабочее мобильное приложение для другой части работы - выяснилось, что ничего не готово. А знаете почему? На этом проекте наш клиент общался напрямую с дизайнерами и программистами! Тим-лида со стороны разработчика вообще не было. Менеджера какого-то или аккаунта даже - тоже не было. Заказчик неопытный в этих делах, он не знает, кто должен быть вообще в команде.

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