Гибкий метод разработки основывается на постоянном контакте разработчика с пользователем для верификации и валидации требований, и, поэтому лишен такого недостатка, как несоответствие фактического и целевого функционала. Несмотря на затруднения при прогнозировании трудоемкости и сроков реализации, в большинстве случаев гибкий метод демонстрирует более высокую результативность, т.к. имеется возможность формировать последовательность реализации функционала ПО в соответствии с ожиданиями заказчика.
Надо отметить, что ведущие предприятия российского машиностроения, использующие PLM системы тяжелого класса западных вендоров, были глубоко вовлечены в процессы гибкой разработки: представители разработчика и ключевые специалисты предприятий постоянно взаимодействовали для формирования, проработки, валидации требований; авторского надзора; внедрения и поддержки готового функционала; осуществления экспертной и референсной функций в рамках холдинга/отрасли.
Таким образом, у российских машиностроительных предприятий накоплен опыт взаимодействия с разработчиками PLM систем тяжелого класса, а специалисты готовы к участию в Agile-проектах.
Сценарный подход к разработке PLM системы тяжелого класса
Авторы, основываясь на опыте работы с PLM системами западных вендоров и предприятий отечественного машиностроения, предлагают комбинированный метод разработки ТЗ и модулей/решений PLM систем тяжелого класса, основанный на сценарном подходе с использованием преимуществ гибкого метода, в первую очередь, заложенных в постоянном контакте разработчика с пользователем.
Как было отмечено выше, традиционные и гибкие методы разработки программного обеспечения базируются на выполнении функциональных требований к ПО, описанных в ТЗ. Однако, из-за большого количества функций в PLM системе, сложно учесть, какие функции ПО необходимы для выполнения конкретных задач пользователя (например, создание трехмерной модели). Если некоторая функция ещё не реализована (например, ее разработка запланирована на будущее), хотя уже много других функций запланировано и разработано, конкретная задача пользователя все ещё не решается. Комбинаторная сложность разработки всего запланированного функционала системы без применения целевых сценариев запредельно высока и недостижима в условиях ограниченного времени и ресурсов. Сценарный подход позволяет избежать таких «разрывов» в логике, поскольку базой ТЗ является сценарий использования системы, отражающий процесс выполнения задачи пользователем. В сценарном ТЗ реализуются только функции ПО, необходимые для данного сценария. Таким образом, пользователь может выполнять процесс, соответствующий сценарию, полностью от начала до конца после завершения работ по данному сценарию. По мере реализации сценариев функции соединяются, как паззл, в полный функционал программы.
В сценарном подходе бизнес-требования связываются с функциями и объектами модели данных. Это позволяет тестировать и проверять функционал согласно сценариям, что улучшает качество разработки и соответствие ожиданиям заказчика. Сценарный подход также помогает определить приоритеты разработки функционала в соответствии с бизнес-требованиями и особенностями архитектуры системы.
Сценарий использования может быть:
— Головным;
— Пользовательским;
— Функциональным.
Сценарий использования формируется на основе пользовательских историй и представляет собой требование к системе с точки зрения пользователя. Каждому головному сценарию соответствует несколько пользовательских сценариев (по сути происходит декомпозиция головной бизнес задачи на частные бизнес-задачи исполнителя-пользователя системы), головные сценарии для удобства навигации могут быть объединены в разделы. Разделы, головные и пользовательские сценарии описывают бизнес-требования к PLM системе тяжелого класса и составляют основу проекта ТЗ — см. рис.