АСКОН — крупнейший российский разработчик инженерного программного обеспечения и интегратор в сфере автоматизации проектной и производственной деятельности. Программное обеспечение АСКОН используют свыше 10 000 промышленных предприятий и проектных организаций в России и за рубежом.
Управление требованиями в большом и сложном продукте
Компания занимается разработкой семейства продуктов КОМПАС-3D и КОМПАС-График. Почти всегда это разработка, уточнение, документирование и согласование требований, по которым в дальнейшем ведется разработка продуктов.
В компании используется адаптированная версия водопада, так что требования являются важным и неотъемлемым элементом всей цепочки процесса разработки. Фактически это один большой и сложный программный продукт, разрабатывается довольно давно, так что требований накопилось немало, больше 3 000 документов, содержащих не по одному требованию, а зачастую описывающих целую функциональную область.
В разработке большого продукта принимает участие несколько команд, поэтому согласованные и приоритезированные требования стали просто жизненно необходимы. Из-за неявных зависимостей и коллизий приоритетов зачастую одна команда раньше не могла продолжить работу, пока другое требование не будет реализовано второй командой, а они к нему еще и не приступали.
Когда требования разбросаны по различным документам, то крайне трудоемко обеспечить их целостность и устранить противоречия, возникающие при одновременной работе нескольких аналитиков. Хорошо, когда проблема выявлялась на этапе согласования, но когда требование уже ушло в работу, то переделка стоит больших усилий.
Постоянные изменения требований зачастую демотивируют наших разработчиков, поскольку они не видят причин для изменения требований, а каждое измененное требование для них почти такое же как и новое, его ведь нужно изучить и найти изменения.
Руководству сложно понять какая функциональность и на сколько процентов завершена, ведь зачастую требования идут в работу не целиком, а частично. Раньше использовали какие-то простые инструменты для контроля покрытия требований реализацией, работы с несколькими версиями требований, но это работало плохо и все равно приходилось тратить значительные силы на получение этой информации.
Руководству стало очевидно, что проблемы с качеством требований и лишними трудозатратами нужно решать, и занялись поиском подходящего решения, автоматизирующего эти задачи.
Команда смогла сформировать единое пространство в Devprom ALM для ведения и хранения требований, где выполняется отслеживание изменений, согласование и версионирование требований. Система автоматически уведомляет заинтересованные стороны об изменениях, выполненных в требованиях. Сроки по реализации функций продукта и конкретных требований стали более прозрачны для руководства.
Удалось снизить количество требований, пропущенных по вине команды из-за неразберихи с требованиями и их состоянием. Прозрачная система зависимостей и трассировок, позволила выстроить нужный порядок реализации требований, зафиксировать и использовать причинно-следственные связи и контролировать целостность покрытия требований готовой функциональностью.
Сейчас существенно быстрее происходит обмен знаниями между сотрудниками о функциональности продуктов, стали меньше допускать ошибок на более поздних стадиях разработки. Разработчики стали лучше понимать причины изменений в требованиях, видя всю картину (обсуждения, комментарии) по требованию. В частности, им стало виднее, что часто изменения в требованиях появлялись вследствие их же проблем с реализацией, принятых нами во внимание.
Фиксация жизненного цикла требований и их версионирование позволяет наглядно доказать разработке, что изменения не такие уж весомые, а не "да они там все поменяли опять, 10 раз".
Тестировщикам также оказалось очень полезно видеть историю обсуждений и изменений требований, принимать участие в обсуждениях требований с разработчиками, лучше понимать ограничения, заложенные в реализацию.
Компания продолжает усовершенствовать процессы разработки и управления требованиями, в планах добиться большей автоматизации, чтобы высвободить высококвалифицированные ресурсы.