Даже если у них нет технического опыта, шаблон документа с требованиями к программному обеспечению помогает руководителям проектов и аналитикам сообщать разработчикам о своих ожиданиях. Мы расскажем, когда и как его составлять, а также о лучших практиках, которые помогут вашей команде работать над достижением одной и той же цели.
Помните, как в школе читали романы XIX века и думали: «Это вообще тот же язык?» Скорее всего, у вас возникала такая же мысль в офисе, когда вы сотрудничали с технически мыслящими разработчиками ИИ или веб-аналитиками SEO. Если бы только существовали краткие руководства для коллег.
Иногда отделам, находящимся на противоположных концах организации, необходимо работать вместе, даже если они говорят на разных технических языках. Если вы когда-либо работали в кросс-функциональной команде, то знаете, как сложно бывает держать всех в курсе дела.
Документы со спецификациями требований к программному обеспечению помогают руководителям проектов, менеджерам по продуктам и бизнес-аналитикам разбивать высокоуровневые концепции на практические задачи, которые каждый участник команды может выполнять в процессе разработки.
В документе «Спецификация требований к программному обеспечению» (SRS) перечислены требования, ожидания, дизайн и стандарты для будущего проекта. К ним относятся бизнес-требования высокого уровня, определяющие цель проекта, требования и потребности конечных пользователей, а также функциональные возможности продукта с технической точки зрения. Проще говоря, документ SRS содержит подробное описание того, как должен работать программный продукт и как ваша команда разработчиков должна его реализовать.
Представьте, что у вас есть отличная идея для приложения. У вас есть представление о том, что оно должно делать и как оно должно выглядеть, но вы знаете, что не можете просто дать разработчику устное описание и ожидать, что оно будет соответствовать вашим ожиданиям. Здесь на помощь приходит SRS.
Free software requirement templateЕсли у разработчиков нет чётких указаний при создании нового продукта, вы можете потратить больше времени и денег, чем ожидалось, пытаясь сделать программное обеспечение соответствующим вашим ожиданиям.
Создание документа SRS помогает изложить идею на бумаге и составить чёткий список требований. Этот документ становится единственным источником достоверной информации о вашем продукте, поэтому все ваши команды — от маркетинга до обслуживания — будут в курсе происходящего.
Поскольку спецификации требований к программному обеспечению являются живыми документами, они также могут выступать в качестве точки коммуникации между всеми заинтересованными сторонами, участвующими в процессе разработки продукта. Итерации продукта неизбежно происходят во время любого проекта разработки программного обеспечения. Отмечая изменения в SRS, все стороны могут подтвердить их в документе. Это позволит избежать путаницы в отношении требований к продукту.
Базовый план документа СОП состоит из четырёх частей: введение, системные и функциональные требования, требования к внешнему интерфейсу и нефункциональные требования.
Введение в SRS — это именно то, что вы ожидаете: общий обзор всего проекта. При написании введения опишите назначение продукта, целевую аудиторию и то, как она будет его использовать. Во введении обязательно укажите следующее:
Область применения продукта: область применения должна быть связана с общими бизнес-целями продукта, что особенно важно, если к документу будут иметь доступ несколько групп или подрядчиков. Перечислите преимущества, задачи и цели, связанные с продуктом.
Ценность продукта: почему ваш продукт важен? Как он поможет вашей целевой аудитории? Какую функцию он будет выполнять или какую проблему решит? Спросите себя, в чём ваша аудитория найдёт ценность продукта.
Целевая аудитория: опишите свою идеальную аудиторию. Она определяет внешний вид и восприятие вашего продукта, а также то, как вы его продаете.
Предполагаемое использование: представьте, как ваша аудитория будет использовать ваш продукт. Перечислите функции, которые вы предоставляете, и все возможные способы использования вашего продукта в зависимости от роли пользователя. Также рекомендуется включить примеры использования, чтобы проиллюстрировать своё видение.
Определения и аббревиатуры: в каждой отрасли или бизнесе есть свои уникальные аббревиатуры или жаргон. Добавьте определения терминов, которые вы используете в SRS, чтобы все стороны понимали, что вы имеете в виду.
Содержание: подробный документ SRS, скорее всего, будет очень длинным. Добавьте оглавление, чтобы все участники могли найти именно то, что им нужно.
Введение должно быть чётким и лаконичным. Помните, что введение будет служить руководством по остальной части документа, и оно должно быть понятно всем, кто будет его использовать.
После введения можно переходить к конкретике. Функциональные требования разбивают характеристики и функции системы, которые позволяют ей работать по назначению.
Используйте обзор в качестве справочного материала, чтобы убедиться, что ваши требования соответствуют основным потребностям пользователя, когда вы заполняете детали. В зависимости от продукта, в документ можно включить тысячи функциональных требований. Вот некоторые из самых распространённых:
Поведение по принципу «если/то»
логика обработки данных;
Системные рабочие процессы
обработка транзакций;
административные функции;
Нормативные требования и требования соответствия
требования к производительности;
Подробная информация об операциях, выполняемых для каждого экрана
Если вам кажется, что это слишком сложно, попробуйте выполнять требования по одному. Чем больше деталей вы сможете включить в документ SRS, тем меньше проблем вам придётся решать позже.
По мере того, как вы переходите к подробным требованиям, не менее важно, чтобы вспомогательные материалы были последовательными и простыми для понимания. Шаблон технической документации позволяет сэкономить время, сократить количество ошибок и обеспечить наличие чётких и актуальных инструкций для всех — от разработчиков до конечных пользователей.
Требования к внешнему интерфейсу — это типы функциональных требований, которые обеспечивают правильное взаимодействие системы с внешними компонентами, такими как:
Пользовательские интерфейсы: ключ к удобству использования приложения, который включает в себя, среди прочего, представление контента, навигацию по приложению и помощь пользователю.
Аппаратные интерфейсы: характеристики каждого интерфейса между программными и аппаратными компонентами системы, такие как поддерживаемые типы устройств и протоколы связи.
Программные интерфейсы: связи между вашим продуктом и другими программными компонентами, включая базы данных, библиотеки и операционные системы.
Интерфейсы связи. Требования к функциям связи, которые будет использовать ваш продукт, например, электронная почта или встроенные формы.
Встроенные системы зависят от требований к внешнему интерфейсу. Включите в документ такие элементы, как макеты экранов, функции кнопок и описание того, как ваш продукт зависит от других систем.
В заключительном разделе спецификации подробно описаны нефункциональные требования. В то время как функциональные требования указывают системе, что делать, нефункциональные требования (NFR) определяют, как ваша система будет реализовывать эти функции. Например, функциональное требование может предписывать системе распечатывать упаковочный лист, когда клиент заказывает ваш продукт. Нефункциональное требование будет гарантировать, что упаковочный лист печатается на белой бумаге размером 10x15 см, что является стандартным размером для упаковочных листов.
Хотя система может работать, даже если не выполняются нефункциональные требования, вы можете поставить под угрозу ожидания пользователей или заинтересованных сторон. Эти требования позволяют контролировать функциональные требования, поэтому они по-прежнему включают такие атрибуты, как доступность продукта и простота использования.
Наиболее распространённые типы нефункциональных требований называются «Itys». К ним относятся:
Безопасность: что необходимо для обеспечения защиты любой конфиденциальной информации, которую ваше программное обеспечение собирает от пользователей.
Ёмкость: текущие и будущие потребности вашего продукта в хранилище, включая план масштабирования системы для увеличения объёма.
Совместимость: минимальные требования к оборудованию для вашего программного обеспечения, такие как поддержка операционных систем и их версий.
Надёжность и доступность: как часто вы ожидаете, что пользователи будут использовать ваше программное обеспечение, и каково критическое время отказа при нормальном использовании.
Масштабируемость: максимальная рабочая нагрузка, при которой система будет работать должным образом.
Ремонтопригодность: как ваше приложение должно использовать непрерывную интеграцию, чтобы вы могли быстро развертывать функции и исправления ошибок.
Удобство использования: насколько легко пользоваться продуктом.
Другие распространённые типы нефункциональных требований включают требования к производительности, нормативные и экологические требования.
Готовы начать собственное предприятие по разработке программного обеспечения? В нашем шаблоне SRS описаны все четыре ключевых компонента отличного документа SRS, что дает вам и вашей команде ценную информацию о продукте, который вы будете разрабатывать. Не забудьте, что требования должны быть подробными, чёткими и краткими, чтобы все стороны имели одинаковое представление.
Цель SRS — обеспечить, чтобы каждая команда в каждом отделе работала над достижением чёткой цели. При этом есть несколько рекомендаций, которым нужно следовать, чтобы ваш документ служил своей цели.
Наглядные материалы, такие как диаграммы, схемы и модели, помогут участникам команды лучше понять процесс. Они особенно полезны для иллюстрации основных функций и работоспособности вашего программного обеспечения.
Один из методов, который можно попробовать во время мозгового штурма проекта, — это составление ассоциативной карты, которая позволяет упорядочить идеи, функции и сценарии и установить связи между ними. Создайте ассоциативную карту, чтобы структурировать случайные мысли, когда вы начинаете собирать идеи воедино. Эта визуализация не должна быть слишком подробной — для этого есть SRS. Вместо этого сосредоточьтесь на ключевых функциях вашего программного обеспечения и на том, как они связаны друг с другом.
Читать статью «Двадцать девять методик коллективного обсуждения: эффективные способы раскрытия творческого потенциала»Последнее, чего вам нужно, — это чтобы разработчики сомневались в себе при создании продукта. Постарайтесь не оставлять места для творчества и заполнения пробелов. Укажите как можно больше подробностей при описании требований к программному обеспечению и избегайте следующего:
Использование расплывчатых слов, таких как «обычно» или «приблизительно»
объединения терминов с помощью «/», что может быть истолковано как «и» или «или»;
Использование сложных граничных значений
использовать двойные и тройные отрицания.
Формальная экспертная оценка — это хороший способ выявить неясности в документе SRS. Планируйте обсудить его с каждым участником, чтобы сравнить его понимание требований и внести необходимые изменения.
Добавьте в документ результаты исследований и интервью с пользователями, чтобы получить чёткое представление о требованиях, ожиданиях и потребностях конечных пользователей. Это должно помочь вам наглядно представить операции, которые конечный пользователь будет выполнять с помощью программного обеспечения. Учитывайте все возможные сценарии и нюансы, которые могут возникнуть, и включите их в документ. Помните, что разработчики будут реализовывать именно то, что вы включите в документ, не больше и не меньше.
Ваш документ — это живой документ, то есть вы будете добавлять новые функции и изменения с каждой итерацией. Учитывайте это, сохраняя гибкость требований на случай, если результат не будет соответствовать вашим ожиданиям. Также рекомендуется вести учёт изменений, внесённых в документ, чтобы избежать недоразумений. Участники должны иметь возможность отслеживать каждое требование до его первоначального варианта и видеть, кто вносит изменения, когда и почему.
Создание документа с требованиями к программному обеспечению — непростая задача, но она не менее важна, чем бесконечное устранение неполадок или решение споров между участниками команды. Работа, которую вы проделаете над созданием комплексного документа с требованиями к программному обеспечению, окупится потрясающим продуктом, которым вы и ваши заинтересованные стороны сможете гордиться.
Free software requirement template