Мифы про ГОСТ 34

Мадорская Ю.М., Тимофеев А.Н.

У Михаила Николаевича Задорнова в фильме «Рюрик. Потерянная быль» есть ироничная заметка о том, что ему рассказали по секрету в российской национальной библиотеке:

…никто из современных ученых-историков этот Лаврентьевский свод не смотрел, в своих трудах они пользовались уже более поздними переводами с него…

Вот этот фрагмент, послушайте эту фразу и то, что говорится несколько позже:

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

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

Чтобы сохранить преемственность поколений, мы собрали часто встречающиеся мифы о ГОСТ 34 и мнения экспертов, знающих и умеющих применять этот стандарт на практике.

Миф 1. В ГОСТ 34 «зашит водопад» и он не подразумевает итеративную разработку

  • ГОСТ 34 не регламентирует модель жизненного цикла проектирования и разработки системы и никак не ограничивает её выбор. Этот выбор определяется условиями конкретного проекта.
  • Процесс проектирования — это творческий и итерационный процесс. Его итерационность заложена в особенностях мышления человека. Поэтому любая методология проектирования априори итерационна.
  • Если внимательно прочитать ГОСТ 34.602-89 и особенно Приложение 1, то нетрудно увидеть итерационный характер процессов создания как самого ТЗ  на АС, так и системы в целом.

Миф 2. В отличие от Agile ГОСТ  34 не подразумевает вовлечение заказчика и исполнителя в совместную работу.

  • Рекомендации о необходимости вовлечения заказчика и исполнителя в совместные работы по созданию системы  закреплены в ГОСТ 34.601-90, Приложение 2,  в  ГОСТ 34.602-89 Приложения 1 и разделы 2.7-2.9 и отражены в РД 50.34.609-90.

Миф 3.  В отличие от Agile ГОСТ 34 не подразумевает создание общего словаря заказчика и разработчика 

  • Согласно РД 50.34.609-90 развёрнутое описание всех информационных сущностей, задействованных в проектировании,  должно быть отражено в информационной модели системы, которая является неотъемлемой частью информационного обеспечения системы, разрабатываемого  в соответствии с ГОСТ 34.602-89.
    Каждая информационная сущность должна быть поименована и описана в ТЗ. Это и есть словарь заказчика и разработчика. По стандарту его можно оставить в разделе «Требования к информационному обеспечению» или вынести в отдельный подраздел или приложение к ТЗ.

Миф 4.  ГОСТ 34 навязывает избыточную документацию

  • ГОСТ 34, как и большинство стандартов РФ, имеет только рекомендательную, а необязательную силу. Это позволяет при  разработке технического задания по ГОСТ34.602-89 в разделах 2.7 и 2.10 приводить только минимально необходимый набор документов, без которых система не может быть создана и принята в эксплуатацию. При этом конкретный состав документов согласовывается с заказчиком при подписании контракта исходя из условий проекта и здравого смысла.

Миф 5. ГОСТы 34-ой и 19-ой серии устарели 

  • Учитывая последние запросы системной инженерии,  в ГОСТ 34 заложена  актуальная методология по созданию качественных автоматизированных систем любой сложности. Чего нельзя сказать о стандартах ISO/IEC/IEEE, предназначение которых быть основой для создания внутренних корпоративных стандартов, где прописываются методологии создания продуктов.  Наглядный тому пример доступные стандарты NASA и DoD.
  • Важно, что  ГОСТ 34 не ограничивает ни кого в применении любых современных терминов. Его основной стандарт ГОСТ 34.602-89 базируется  на определении автоматизированной системы, которое за это время не претерпело ни каких изменений.
  • ГОСТ 19  — та же история. Архаичными выглядит некоторые слова, а не суть стандарта. Отметим также, что такое требование ГОСТ 19, как создание блок-схем алгоритмов программ на структурном языке диаграмм (SDL) существенно повышает качество кода при весьма скромных затратах на обучение и применение. Кстати, SDL входит в UML — для тех, кому это слово ближе.

Миф 6. Коммерческий сектор не пользуется ГОСТ 34

  • Коммерческий сектор, коммерческому сектору рознь. Есть очень продвинутые в этом деле заказчики.
  • Коммерческий сектор (массово) не пользуется ими не по причине бессмысленности, а из-за отсутствия специалистов, которые могли мы его грамотно применять.

Миф 7. ГОСТ 34 не дает быстрой обратной связи 

  • Обратной связи не дает не какой-то ГОСТ, обратной связи не дают конкретные люди. От того, что в методологии или даже стандарте прописано об обязательности быстрой обратной связи ничего само собой не получится. Как говорит восточная мудрость: «Сколько не кричи «Халва!» — во рту сладко не будет». На любом проекте нужны немалые усилия для создания условий для получения обратной связи как от заказчика к исполнителю, так и от исполнителя к заказчику.

Миф 8. В ГОСТ 34 нет слова agile

  • Это не миф. Его действительно там нет. Как нет и не может быть таких слов как: V-model, SCRUM, ХР, Model-Driven Development, DSDM (Dynamic Systems Development Method) и т.д.
  • Это связано с тем,  что, во-первых, ГОСТ 34 сосредоточен на рекомендациях по созданию автоматизированных систем в целом, в то время как любая из Agile методологий сосредоточена на рекомендациях по созданию всего одной части автоматизированной системы — программного обеспечения.  Во-вторых, ГОСТ 34 был спроектирован как стандарт, который не зависит от какой-то конкретной методологии проектирования и разработки.

Если вы хотите внести свой вклад в копилку мифов и пояснений по ним — присоединяйтесь к обсуждению в наших клубах на linkedin или facebook!

Хотите сослаться на эту статью? Используйте правильную ссылку:

Мадорская Ю.М., Тимофеев А.Н., Мифы про ГОСТ 34. //Практика проектирования систем.-2015. [электронный ресурс] — Режим доступа: http://reqcenter.pro/gost34-myths/, свободный. — Загл. с экрана