Всеволод Леонов – менеджер по продуктам, «Embarcadero».
Александр Люлин – ведущий разработчик, «Гарант»
Максим Крылов – руководитель проекта, «Гарант»
Компания «Гарант» известна многим российским IT-специалистам благодаря своему ключевому продукту – системе ИПО ГАРАНТ. Большая часть сотрудников компании заняты производством ПО, а сама система имеет 23-летнюю историю развития и насчитывает десятки миллионов строк кода, написанных на различных языках программирования. При таком масштабе, языковой и технологической неоднородностях, высоких темпах производства, очень жёстких требованиях к стабильности только применение самых передовых технологий может обеспечить качество эволюционирующей системы. UML как средство моделирования, бесспорно, является одним из таких «продвинутых» подходов, применение которого в компании «Гарант» отличается высоким уровнем автоматизации со значительной долей усиления его системной роли. Сегодня своим опытом делятся ведущий разработчик системы ГАРАНТ Александр Люлин и руководитель проекта Максим Крылов.
Всеволод: Расскажите, был ли изначально использование UML принято в качестве одной из составляющей процесса разработки?
Максим: Нет, конечно, когда мы пришли в «Гарант», его еще попросту не было. Но, кажется, уже в 97-м году наш молодой и талантливый коллега (хотя в ту пору мы все были молоды) принёс дискету с одним из первых инструментов UML-моделирования. Примерно с этого момента можно считать, что внедрение UML в стенах «Гаранта» началось. Однако, до его использования в основных наших проектах, так сказать в промышленных масштабах, прошли еще годы.
Александр: Более того, использование UML внедрялось долго и в несколько этапов. По мере роста наших разработок и понимания, что без этого инструмента есть риск не справиться с всё усложняющейся структурой кода и внутренней архитектурой проектов.
Всеволод: Не было ли «идеологических разногласий»? Есть разные стили кодирования, не получалось ли так, что «у каждого свой UML»? Или UML «причёсывает всех под одну гребёнку»?
Александр: Конечно, были разногласия. И как раз в идеологической основе внедрения и было стремление все «причесать» и унифицировать имеющиеся подходы.
Максим: К тому моменту, когда использование UML из экспериментов одного-двух энтузиастов перешло в стадию проектного внедрения, у нас уже было довольно четкое понимание что это и зачем и как сделать так, чтобы не было «разных UML-ей».
Всеволод: В какой момент было принято решение посмотреть в сторону UML?
Александр: Когда появилось осознание того, что проекты сложные. Что в них задействовано много людей. Что надо как-то «договариваться». И что надо как-то «видеть» общую архитектуру проектов.
Максим: Долгое время его использование ограничивалось личными набросками для потребления узкой группой «посвященных». В какой-то момент пытались начать генерировать из него CORBA IDL. В итоге, пришли к выводу, что это почти невозможно и написали свой простенький генератор. Собственно, это и было точкой невозврата. После этого UML стал применяться в большинстве проектов, и что главное, переродился в нечто существенно большее, чем просто набор картинок, мы об этом потом чуть подробнее расскажем. Но в начале, да — просто как возможность быстрее и эффективнее договориться.
Читать полностью »