Ассоциация Предприятий Промышленной Автоматизации Украины

Agile в промышленной автоматизации: от интуитивного подхода – к осознанным лучшим практикам и стандартам

Мы уже делали несколько заходов к Agile – последним была презентация на февральском форуме лидеров АСУ ТП.

Презентацию Максима Савельева о сравнении классических методов управления проектами АСУ ТП с методами Agile можно посмотреть по этой ссылке. Затем мы резюмировали в дискуссии, что наши интеграторы, по-сути, уже пропитаны духом agile – так как исповедуют многие принципы гибкости и ориентации на результат.  С другой стороны, они и слов таких не знают, а их рабочие практики «в духе agile» на самом деле далеки от современных стандартов. Накануне очередной дискуссии 11 июня давайте еще раз обозначим состояние и нынешнее понимание «нужно ли это и зачем».

Проблемы разработки ПО в АСУ ТП

Сравнивать в лоб Waterfall (метод водопада), V-образный цикл или подобные с Agile для отечественных разработчиков АСУ ТП было бы некорректно. Просто по той причине, что (по нашей информации) процессы разработки редко где стандартизированы настолько, чтобы говорить о целостном и полном применении тех или иных методов разработки. К сожалению, уровень зрелости разработчиков в АСУ ТП не сильно вырос за последние 20 лет, и в целом ситуация может сильно изменяться от фирмы к фирме. 

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

  • Низкий уровень стандартизации программных блоков и модулей
  • Зависимость от исполнителей – новому программисту или пользователю сложно разобраться в том, что сделал предыдущий
  • Низкая степень документированности ПО
  • Слабый учет требований и стандартов динамичной промышленной среды – для быстрых изменений, для обмена и передачи данных, для интеграции в другие под-системы разных уровней и т.д.

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

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

Индустрия ИТ идет таким же путем, - только гораздо быстрее, в других условиях и для других приложений. Тем интереснее рассмотреть их опыт, где Agile в лице направления SCRUM начинает доминировать. Это явный тренд, который видно невооруженным глазом – практически каждая компания из этой отрасли, выступающая на конференциях (в том числе и по АСУ ТП) упоминает свою приверженность методам SCRUM. 

Почему Agile может быть интересен для разработчиков и интеграторов в промышленной автоматизации

Однако мы вправе задать вопрос – «если на Agile переходит ИТ, то почему должны и мы»? – ведь разница между приложениями АСУ ТП и АСУП – большая. Максим Савельев в упомянутой вначале презентации справедливо отметил, что требования по безопасности и качеству для АСУ ТП значительно выше и жестче, чем на уровне АСУ П или в других областях ИТ-индустрии. 

Наш прямой ответ – «Потому что Agile позволяет лучше справляться с проблемами, указанными выше и это больше соответствует задачам по управлению ситуациями нестабильности – и которые сегодня доминируют на всех рынках».

Детализируя предпосылки к переходу на гибкие практики и методы Agile, отметим здесь те, которые как раз касаются основополагающих принципов Agile. Они указаны в Манифесте Agile – легко заметить, что многие интеграторы по своему духу и принципам работы ближе к ним, чем к громоздким и сложным правилам PMbok. Напомним эти принципы: 

  1. Люди и взаимодействие важнее процессов и инструментов: редко какой интегратор имеет жесткие, формализованные бизнес- процессы разработки или применяет скрупулезно правила проектного управления. Обычно все достаточно ситуативно и  происходит в тесном взаимодействии разработчиков-программистов, проектантов и специалистов других направлений. 
  2. Работающий продукт важнее исчерпывающей документации – как мы раньше отмечали, - интеграторы никогда и «не заморачивались» подобными работами, - результат и работающая система для них всегда были важнее. 
  3. Сотрудничество с заказчиком важнее согласования условий контракта – хотя это может показаться и невыгодным для поставщика системы, но большинство интеграторов идут с готовностью на уступки и изменения, если заказчик на этом настаивает/ 
  4. Готовность к изменениям важнее следования первоначальному плану – вся фишка в том, что детальное планирование (как это предусмотрено правилами  проектного управления в стиле водопада или V-образного цикла) у интеграторов практически отсутствует. И причина здесь не только в низком уровне проектной культуры. Гораздо больше проблем – на стороне заказчика и тех, кто управляет всем большим проектом. Что бы вы тщательно не спланировали в MS Project или другой среде – изменения всегда будут. Еще и потому, что Системный Интегратор идет всегда последним в цепочке поставщиков и подрядчиков крупного проекта и часто становится «жертвой» сдвига сроков.  

С другой стороны – эту «гибкость поневоле» или по причинам низкой зрелости вряд ли можно назвать примером эффективного управления. Авралы и стрессы, работа по выходным, конфликты с заказчиками и внутри коллектива, потери в качестве и в деньгах – постоянные спутники проектов АСУ ТП. Принципы и методы Agile как раз рассматривают возможности оптимизации и роста управляемости в нестабильной среде.  

Есть ли уже точки пересечения и примеры в промышленной автоматизации?

Как оказалось, Agile уже давно присутствует в стандартах и практиках промышленной автоматизации. Эта статья википедии ссылается на ирландскую фирму Hal Software, которая в  2013 году ввела термин Agile Automation. Под ним компания как раз и понимает набор методов, инструментов и практик Agile для использования в промышленной автоматизации. Эта же ссылка упоминает, что еще в 2008 год GAMP-5 (Good Automation Manufacturing Practices) упоминал Agile programming среди набора рекомендуемых методов и моделей. Среди преимуществ Agile Automation источник называет сокращение цикла разработки ПО, а также улучшенные возможности для тестирования АСУ. А в контексте предыдущих наших разговоров о стандартизации уже очень интригующе звучит упоминание в этой статье стандартов ISA 88 и 95. Оказывается все это взаимоувязано.

Эксперт ведущего консалтингового агентства США в области промышленной автоматизации Maverick technologies пишет в свежей статье, что  «Основой разработки в стиле agile в промышленных системах управления являются итерационные процессы создания работающего ПО и его тестирования в режиме симуляции, и затем – тесного сотрудничества с заказчиком по возможным улучшениям.»

Важно отметить, что требования просто к разработке нового софта и к ведению проектов в стиле Agile – разные. Но снова же – наша критика на жесткость правил классического проектного управления а-ля-PMbok может иметь в основе устаревшие парадигмы – ведь сегодня уже существует Agile Project Management. Возможно, именно это направление развития нужно брать за основу нашим интеграторам.

Ну и очень похоже на то, что многие методы agile являються основой cовременного гибкого производства и разработки приложений на уровне MES – об этом часто пишет Automation World

Пример Terrasoft

Небольшой пример Agile в действии автор этих строк видел на последней конференции Terrasoft буквально на прошлой неделе. Terrasoft – украинская компания, - лидер CRM-рынка стран СНГ, опережающая в этой области такие бренды как Microsoft, Oracle и другие. За 14 лет своего существования, компания сумела построить мощный коллектив разработчиков ПО и сегодня экспортирует свои продукты в Западную Европу и США.

Презентации директоров R&D, Продуктового и Проектного департаментов на упомянутой конференции как раз касались демонстрации своего опыта в контексте дискуссии «Waterfall vs Agile».  Интересны следующие особенности:

  • SCRUM полностью освоен и является основным методом разработки ПО в департаменте  R&D. Переход на  SCRUM позволил сократить сроки разработки новых релизов ПО и улучшить качество программных продуктов компании.
  • Многие элементы SCRUM используются и в реализации проектов – например, оценка трудоемкости проектов ведется не в нормо-часах, а в так называемых story points (показатели сложности задач). Присутствует ряд других элементов SCRUM.
  • В то же время планирование и разворачивание проекта ведется по классической технологии проектного управления - с этапами и соответствующими инструментами, как устав и т.п.

Terrasoft демонстрировал свой опыт для своих партнеров -  десятков разработчиков и системных интеграторов из это области, интерес к теме был огромен.

Вопросы к обсуждению 11 июня

Похоже, в четверг нас ожидает интересная дискуссия. Кроме ликбеза по SCRUM и его возможностей в разработке ПО и управлении проектами, мы ожидаем от докладчиков (приглашаются спикеры из ИТ-индустрии) разъяснений по поводу:

  • где пределы и ограничения SCRUM и подобных  методов Agile в управлении проектами
  • какие выгоды применения SCRUM – интересны будут примеры
  • главные барьеры украинских компаний в освоении методов Agile
  • как начинать и сколько  длится освоение этих методов.

Совместно мы попытаемся сделать этот большой шаг в сознании наших интеграторов – от интуитивных подходов работы в стиле agile – к осознанному пониманию как эти принципы использовать более эффективно, - на основе лучших практик и методик.

Приглашаем всех желающих на нашу дискуссию 11 июня.

Юрчак А.В. ген. Директор АППАУ

 

Комментарии: