Для точной оценки стоимости проекта техническое задание программного обеспечения должно удовлетворять определенным требованиям. Главный критерий — это предельная ясность. После прочтения ТЗ у архитектора не должно остаться вопросов по деталям описываемого программного продукта. Заказчики при написании технического задания часто упускают важные моменты.
01 | Технического задания на разработку программного обеспечения должно быть достаточно для того, чтобы приложить к контракту и начать работу. | |||
02 | Информация должна быть хорошо структурирована. Сплошной текст сложно воспринимать и оценивать. | |||
03 | Разделы ТЗ не должны содержать противоречивых сведений. | |||
04 | Документ не должен содержать посторонней информации, не относящейся к разработке системы и не проливающей свет на тот или иной аспект ее функционирования: пометки, вопросы, разноцветные выделения и т.п. | |||
05 | Отсутствие в тексте обтекаемых формулировок и общих фраз: чем больше конкретики, тем лучше. | |||
06 | Будущая система должна быть описана полностью. В случае поэтапной разработки должен быть полностью описан функционал соответствующего этапа. |
Примеры
- Если разрабатываемая система имеет аналоги, то полезно предоставить ссылки на них.
- Если система предполагает интеграцию с другими системами или задействует другие ресурсы, то необходимо их указать (ссылки).
- При описании назначения системы следует привести основные сценарии работы пользователей с ней.
- Прилагать к техническому заданию программного обеспечения примеры входных данных, а также формат данных для обмена между подсистемами: таблицы, базы, страницы и т.п.
- Прилагать к ТЗ примеры выходных данных: внешний вид отчетов, файлов экспорта.
Структура
- Стоит зарисовать архитектуру (скелет) системы, а также охарактеризовать взаимосвязи между подсистемами.
- Техническое задание должно описывать структуру системы: интерфейс пользователя, интерфейс администратора, серверная часть, вычислительная часть, инсталлятор, вспомогательные утилиты и так далее.
- Техническое задание на разработку программного обеспечения должно включать следующие разделы.
01 | Общие сведения о проекте. | |||
02 | Назначение и цели создания (развития) системы. | |||
03 | Характеристика объектов автоматизации. | |||
04 | Общие требования к системе. | |||
05 | Состав и содержание работ по созданию системы. | |||
06 | Порядок контроля и приемки системы. | |||
07 | Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие. | |||
08 | Требования к документированию, включая требования к исходному коду. |
Детали
- Административный интерфейс должен быть подробно описан.
- Следует подробно охарактеризовать предполагаемые роли пользователей системы, их функции и права.
- Должно быть приведено описание математических методов и моделей, типовых алгоритмов и алгоритмов, подлежащих разработке.
- Протоколы обмена, которые будут использованы в системе, должны быть приведены в ТЗ на ПО. Для открытых протоколов следует указывать ссылки на спецификацию конкретной версии протокола. Для частных протоколов следует включать спецификацию в текст ТЗ.
- Необходимо указывать требования к безопасности хранения и передачи данных. При потребности в устойчивости к определенным специфичным видам угроз следует перечислить их явно.
- Должны быть описаны все интерфейсы взаимодействия со смежными системами.
- Следует указывать, с какими платежными системами требуется интегрировать разрабатываемый программный продукт.
- Следует указать перечень сторонних платных и свободных компонентов, которые предполагается использовать при разработке.
Оформление
- В случае потребности в услугах дизайнера, необходимо приложить концепцию дизайна.
- Документ должен содержать требования к оформлению интерфейсных частей разрабатываемой системы. Следует описывать внешний вид блоков интерфейса.
- Следует приложить к ТЗ наброски или готовые макеты всех страниц или форм приложения.
- Для веб-приложений следует приложить готовую верстку.
Производительность и надежность
- Для нагруженных систем следует указывать ожидаемый уровень нагрузки, с которым система должна справляться в штатном режиме: месячный, дневной и пиковый.
- Следует указывать требования к показателям производительности, которым должна удовлетворять система.
- Должно быть обосновано оборудование, на котором предполагается запуск компонентов системы. Необходимо указать размещение серверных компонентов: на собственном сервере, на хостинге, в облаке.
- Необходимо указать требования к сохранности данных.