Как составить качественную спецификацию к разработке мобильного или веб-приложения?

software requirements document Как составить качественную спецификацию к разработке мобильного или веб-приложения?
5/5 - (2 голоса)

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

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

 

Для чего нужна спецификация?

 

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

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

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

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

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

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

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

 

Как писать?

 

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

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

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

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

Спецификация — не доска обсуждений. Не задавайте вопросов и не начинайте обсуждения при разработке технической спецификации. Это документ и, если вы хотите позднее спросить мнение у команды, напишите что-то вроде “предстоит определить”, а не “как будет лучше?”

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

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

Это были основные советы. Теперь возникает вопрос: какую информацию стоит включить при разработке технической спецификации?

 

Что писать?

 

Оглавление. Оно должно включать все части вашей спецификации с номерами страниц. Это упростит поиск и дальнейшее обсуждение проекта с командой.

Идея и цель. Для чего нужно ваше приложение? Почему вы хотите его создать? Для кого? Включите цели приложения и ваши идеи о том, что приложение должно делать и какие задачи выполнять.

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

Аббревиатуры и определения. Если вы включаете аббревиатуры и особые понятия, которые могут быть не совсем понятны человеку, читающему спецификацию, включите их объяснение в начало документа.

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

Монетизация. Иформация о стратегии монетизации приложения очень важна для разработки. Будет ли оно платным или вы включите рекламу, а может быть это будет модель freemium? Как и куда будут переводиться деньги?

Дедлайны. Команда и вы должны иметь согласованное представление о всех временных рамках проекта. Определите даты, в которые команда должна предоставить вам каждую версию приложения.

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

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

Действия. Опишите каждый интерактивный элемент для всех экранов по следующей схеме: жест — анимация — эффект.

Дизайн. Делать различный дизайн для планшетов и смартфонов — хорошая практика, так как они имеют различные размеры. Добавьте вайрфреймы версии для планшета, если вы хотите, чтобы её дизайн отличался от дизайна версии для смартфонов.

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

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

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

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

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

— Геолокация. Если ваше приложение должно использовать GPS, что именно оно будет делать? Какие карты будут использоваться?

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

 
Опционально:

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

Блок-схема. Включите схематическое изображение каждого экрана и пути перехода между ними.

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

5/5 - (2 голоса)
×