Оригинал опубликован вот здесь.
Как нужно писать техническое задание на систему, чтобы ожидания совпали
с реальностью? Чтобы на приемке вы не просто узнали систему, светлый образ
которой так мучительно согласовывался в отчетности высотой в метр, но и не
пожалели о ее появления на свет.
Разработка автоматизированных информационных систем регламентируется
ГОСТами (в первую очередь 19 и 34) и множеством нормативных правовых актов. При
этом на государственные информационные системы всегда распространяются
более строгие требования. О них много написано в открытых источниках, поэтому в
данной статье я дам несколько практических советов в отношении
этапов работ, когда на первый план выходит организация совместной работы
заказчика и исполнителя.
Данные рекомендации будут полезны в первую очередь представителям ИТ-подразделений
органов власти, которые занимаются подготовкой технических заданий (ТЗ). Они
могут быть применимы ко всем классам государственных информационных систем — сайтам,
электронному документообороту, межведомственному взаимодействию, системам
ведения реестров, оказания госуслуг и госфункций.
Непродуманное ТЗ может привести к тому, что:
—
исполнитель тратит больше ресурсов на
согласования и отчетность, чем на саму разработку
—
система создана, соответствует ТЗ, но почему-то
не востребована пользователями
—
работы завершены, но после приемки остались
шероховатости, которые нужно как-то устранять.
Далее я разберу, что нужно учитывать в ТЗ, чтобы не попасть в похожие
ситуации. В данных рекомендациях я буду учитывать «сложные» ситуации, когда в
силу тех или иных причин заказчик и исполнитель ограничены в ресурсах. Пример
типовой «сложной» ситуации: заказчик в течение полугода согласовывал
мероприятие по развитию системы с Минкомсвязи России, затем еще месяц
согласовывал документацию внутри своего ведомства, затем публикация конкурса,
подведение результатов, заключение государственного контракта... и на исполнение
работ осталось 2-3 месяца, а то и менее. А это конец года, когда приближаются
дедлайны по всем проектам. Сразу отметим, что любой проект можно и следует
делать правильно, то есть заранее планируя мероприятие (лучше за год) и
соблюдая прохождение всех этапов жизненного цикла создания информационной
системы.
Департамент цифровых решений Агентства «Полилог» имеет многолетний опыт
заказной разработки в интересах госсектора. На собственном опыте и опыте коллег
по цеху мы расскажем о рисках, связанных с непродуманными требованиями. Мы
исполнили множество разных ТЗ и рекомендации по конкретным формулировкам взяты
из лучших практик наших заказчиков.
1.Согласования
Заказчик хочет, чтобы практически вся отчетность (обследование,
технический проект, пользовательские инструкции, материалы испытаний и прочее)
исполнитель согласовывал с ним. Это он фиксирует в ТЗ, недооценивая масштаб
работы, которую взваливает на свои же плечи.
Пункт о том, что заказчик согласовывает отчет, означает необходимость
визы ответственного лица на титульном листе или же листа согласования внутри
отчета с подписями различных сторон. Сразу возникает много вопросов: а кого
ставить? А почему именно я должен согласовывать эти документы? И так далее.
Бывают случаи, когда в ТЗ встречается требование о том, что заказчик
утверждает какие-либо документы. Такую формулировку лучше вообще не
использовать, так как процесс утверждения является особым способом введения
документа в действие и предполагает издание соответствующего распорядительного
документа (протокола, приказа, решения, постановления).
В случае, если заказчиком является ИТ-подразделение, а пользователями
системы — профильные структурные подразделения, это повлечет необходимость и их
виз на таких документах. А собрать их сложно, если учесть все бюрократические
процедуры, отсутствие нужных сотрудников из-за отпусков или командировок,
нежелание сотрудников ставить свои визы на непонятной технической документации.
К тому же в условиях жестких дедлайнов (тот же конец года) заказчик просто не в
силах обеспечить нужные согласования в срок, что может поставить весь проект
«на паузу».
Мы рекомендуем ставить требование по согласованию или утверждению только
в отношении технического проекта. А по остальной отчетности запрашивать у
Исполнителя промежуточные версии отчетов в электронном виде до окончания
отчетного периода, чтобы было время дать по ним замечания или пожелания.
Используйте следующие
формулировки для включения в ТЗ:
В результатах работ фиксируем — «Технический
проект, согласованный с Заказчиком ».
На все отчетные материалы распространяем следующие требования:
«Исполнитель за 5 рабочих дней до
окончания соответствующих этапов направляет на адрес электронной почты
Заказчика, указанный в Договоре, промежуточные версии отчетов. В случае
поступления от Заказчика замечаний и рекомендаций по их доработке Исполнитель вносит
соответствующие корректировки и учитывает данные замечания и рекомендации в
итоговых версиях отчетов. »
2.Испытания
Испытания — один из наиболее важных этапов работ по созданию или
развитию системы. Он позволяет проверить систему на соответствие ТЗ и снять
обратную связь с пользователей перед ее внедрением (вводом в промышленную
эксплуатацию). Согласно ГОСТу есть 3 вида испытаний — предварительные, опытная
эксплуатация и приемочные испытания. В идеале на все эти испытания нужно от 1,5
месяцев и более, в зависимости от масштаба работ. Вспоминаем типовую «сложную» ситуацию,
описанную выше. Что же делать?
Каждый вид испытаний требует высокой организационной нагрузки:
формирование комиссии, проведение самого мероприятия, подписание протоколов
испытаний с актами — а это визы десятка людей.
В ситуации с короткими сроками мы рекомендуем исключать предварительные
испытания. В самых критичных ситуациях можно оставлять только проведение
приемочных испытаний (да, да, это противоречит ГОСТу, но что же делать). Если
на такой приемке вы столкнетесь с продуктом, в котором множество изъянов, то
остается возможность назначить проведение повторных приемочных испытаний, к
моменту которых исполнитель должен устранить выявленные на первичной приемке
несоответствия. Здесь самое главное грамотно рассчитать сроки, которые
отводятся на приемочные испытания в ТЗ, чтобы при необходимости уложить в них и
повторные приемочные испытания.
Успех испытаний во многом зависит от программы и методики испытаний
(ПМИ). Мы рекомендуем таким образом формулировать ТЗ, чтобы каждое требование
можно было включить как отдельный пункт в ПМИ, проверить его путем
демонстрации. Избегайте субъективных или абстрактных формулировок (например,
«Система должна обеспечивать удобные для пользователя интерфейсы», вопрос — а
что понимать под удобством?). Думайте о том, как исполнитель будет вам
показывать реализацию этих требований. Это поможет избежать лишних споров
внутри и вопросов о качестве и объеме выполненных работ согласно ТЗ у
проверяющих органов.
Мы рекомендуем использовать
следующие формулировки для включения в ТЗ:
«Для приемки результатов работ в
целом проводятся приемочные испытания. Приемочные испытания проводятся в
присутствии представителей Заказчика и Исполнителя. Испытания должны
проводиться согласно документу „Программа и методика приемочных испытаний“,
разработанному Исполнителем. Приемочные испытания проводятся Заказчиком с целью
установления соответствия представленных Исполнителем работ требованиям
Заказчика. Результаты проведения приемочных испытаний должны быть отражены в
Протоколе проведения приемочных испытаний. По результатам проведения приемочных
испытаний оформляется Акт готовности Системы к вводу в промышленную
эксплуатацию. При выявлении в ходе приемочных испытаний критичных замечаний
Исполнитель должен устранить замечания и приемочные испытания должны быть
проведены повторно. Критичными замечаниями считаются выявленные ошибки, после
которых Система не может продолжать свою работу. »
Мы НЕ рекомендуем формулировать
требования следующим образом:
«Дизайн интерфейса должен содержать
минимально необходимое количество графических элементов и обеспечивать как
можно большую скорость загрузки» — как определить минимально необходимое
количество графических элементов, с чем сравнить скорость загрузки?
«Автоматизированное рабочее место
Администратора должно обеспечивать функциональные возможности, позволяющие
частично автоматизировать деятельность администратора в части выполнения
типовых задач за счет использования макросов» — не указаны, какие типовые
задачи должны быть автоматизированы. Какое решение здесь уместно: например, добавить
в текст ТЗ конкретные требования или дать возможность определить эти требования
на этапе технического проектирования: «Перечень
типовых задач, которые необходимо автоматизировать за счет использования
макросов, определяется на этапе технического проектирования. ».
3.Обучение
Обучение обычно проводится на этапе опытной эксплуатации. Зачастую
заказчик и исполнитель организовывают процесс полномасштабного обучения работе
в новой или доработанной системе позже, когда прошли приемочные испытания, а на
этапе опытной эксплуатации испытывают систему на ограниченном круге
пользователей. Такая организация преследует одну единственную цель — снизить
нагрузку на ответственных сотрудников, не использовать их как подопытных
кроликов и не мешать им работать, пока идет процесс ввода системы в действие.
Что важно учитывать.
Во-первых, не стоит заказывать обучающие видеоролики. Они менее удобны
для изучения системы и дальнейшей работы с ней нежели стандартные
пользовательские инструкции или гид по системе. Главное — грамотно
сформулировать требования к ним. Исходя из нашего опыта, практичнее всего
делать хорошо структурированные пользовательские инструкции с гиперссылками по
разделам. Важно делать именно пошаговое описание каждого пользовательского
сценария и вставлять в инструкцию скриншоты в масштабе, позволяющем рассмотреть
все необходимые функциональные элементы. Пользователь всегда сможет ее
распечатать, положить на стол — вы же знаете, как это любят делать ваши
сотрудники.
Во-вторых, в самой системе обязательно должен быть раздел, где размещены
актуальные версии эксплуатационной документации.
В-третьих, для знакомства с новой или обновленной системой эффективна
технология гида — система интерактивных подсказок по навигации в системе,
которые появляются после авторизации пользователя. Такие подсказки рассказывают
о новом функционале, о последовательности действий, о подсистемах, которые в
ней есть, и так далее.
Следование данным рекомендациям поможет осуществить безболезненное
внедрение системы, минимизировать отторжение сотрудниками нового формата
работы.
Однако не стоит использовать слово «обучение» в тексте ТЗ. Создание и
развитие государственных информационных систем проходит по 242 виду расходов.
Обучение — это иной вид расходов (244). Вместо этого используйте понятия
«консультации», можете конкретизировать какие — очные или дистанционные.
Мы рекомендуем использовать
следующие формулировки для включения в ТЗ:
«Исполнитель должен провести
консультации сотрудников по работе с Системой. Во время проведения консультаций
представитель Исполнителя должен рассказать содержательный материал и ответить
на вопросы пользователей Системы. По итогам проведения консультаций Исполнитель
должен предоставить отчет. »
4.Внедрение
Здесь под внедрением мы понимаем этап ввода системы в промышленную
эксплуатацию, то есть когда система прошла приемочные испытания и готова к
работе пользователей. В этот момент заказчик должен отказаться от всех иных
способов работы с процессом вне рамок разработанной системы. Это самый сложный
этап, требующий высокой пользовательской дисциплины. Чтобы ее поддерживать на
должном уровне требуется разработка положения о системе и регламента работы
должностных лиц в системе.
Положение — это организационно-распорядительный документ, который определяет:
—
назначение системы (для автоматизации каких
процессов предназначена)
—
задачи и функции системы (для ведения каких
реестров/регистров используется, какие госуслуги/госфункции покрывает и прочее)
—
участников (кто является оператором и какие
функции он выполняет, какие категории пользователей, какие подразделения охватывает
—
структуру системы (архитектура, программное и
аппаратное обеспечение, структура подсистем/модулей)
—
характеристики информации (срок хранения,
технологии хранения, порядок защиты информации, типы — общедоступная, ДСП,
гостайна и др.)
—
порядок доступа (как осуществляется
идентификация и аутентификация пользователей, кто и как организовывает доступ).
Регламент — это скорее рабочий документ, который должен быть как
«инструкция для пилота». Именно в нем распределяются зоны ответственности,
устанавливаются требования к последовательности и результатам деятельности,
срокам. Например, устанавливается порядок обработки в системе заявлений,
поступивших в ведомство в электронном или бумажном виде, порядок ведения
реестров, порядок отправки запросов в СМЭВ или обработки полученных запросов и
т.д. Регламент должен быть небольшим (5-10 страниц) и максимально простым.
Положение и регламент не заработают, если не будут утверждены приказом
ведомства, пройдя все необходимые согласования внутри (не стоит включать
согласования такого рода в состав работ по ТЗ, это очень долгий процесс). Зато
после этого политический вес системы возрастет, особенно в случае, когда она
покрывает деятельность множества структурных подразделений.
Используйте следующие
формулировки для включения в ТЗ (можно в разделе, где описаны требования к
разработке эксплуатационной документации):
«Исполнитель должен разработать
проект Регламента работы сотрудников ведомства в Системе и проект Положения о
Системе. Проект Положения о Системе должен включать описание следующих пунктов:
...»
5.Гарантия качества
Гарантия качества — важная часть ТЗ и для заказчика, и для исполнителя,
которая имеет стратегическое значение. В типовой ситуации (смотрим описание
выше) гарантия качества является тем запасным парашютом, который поможет
заказчику принять работы, понимая, что не все гладко сделано (по вине любой из
сторон) и легализовать процесс устранения шероховатостей, который выйдет за
рамки основных работ. Подобные ситуации встречаются повсеместно.
Значение гарантии качества важно и в прямом ее назначении —
предусмотреть доработку системы в случае выявленных недостатков в будущем. И
чем дольше будет гарантия качества, тем выгоднее заказчику, но правила приличия
обычно не позволяют делать ее более 1 года. Также важно правильно обозначить —
что же входит в гарантию, на какие случаи она распространяется.
Мы рекомендуем использовать
следующую формулировку для включения в ТЗ:
"Гарантийный срок выполненных
работ (оказанных услуг) составляет не менее 12 (двенадцати) месяцев. Указанный
срок исчисляется со дня подписания Заказчиком акта сдачи-приемки выполненных
работ (оказанных услуг).
Если в период гарантийного срока
обнаружатся дефекты или недостатки (в том числе скрытые дефекты и / или
недостатки) выполненных Исполнителем работ (оказанных услуг), то Исполнитель
обязан их устранить своими силами и за свой счет, в возможно короткие сроки.
Гарантийный срок в этом случае продлевается соответственно на период устранения
дефектов, недостатков. "
В следующей статье мы вам расскажем, как правильно выстроить в ТЗ
требования к программному обеспечению — как прописать, что оно должно быть
отечественным, как избежать вендорозависимости, как организовать передачу
исходного кода и почему нужно требовать на приемке развертывания системы из
исходников.