Новая конференция Software People 2009 заявлена как мероприятие для профессионалов в области управления процессом разработки программных продуктов, но по масштабам и спектру обсуждаемых тем явно претендует на то, чтобы составить конкуренцию более универсальной SECR. Участие в конференции приняли около 300 специалистов; организовал ее учебный центр Careerlab, специализирующийся на образовательных программах в области программной инженерии.
Главными составляющими любого программного проекта являются процессы разработки, используемые при этом технологии и, конечно, люди. Этим темам и были посвящены доклады Software People 2009, в которых был представлен и методический опыт российских компаний-разработчиков, и новинки рынка инструментария разработки, и размышления о современном рынке труда для разработчиков и потенциале их академической подготовки.
Одним из ключевых докладчиков конференции стал программный директор IBM Rational Software Рик Уивер. Почти два десятилетия Уивер занимается разработкой программного обеспечения в IBM, в сферу его обязанностей входили продукты семейств WebSphere и Information Management, а сейчас он руководит программой Unleash the Labs, нацеленной на установление тесных связей сотрудников подразделения Rational со своими заказчиками — архитекторами, разработчиками, тестировщиками, руководителями проектов. Уивер ответил на несколько вопросов журналиста «Открытых систем».
Что выделяет семейство IBM Rational среди решений других поставщиков в области программных средств управления жизненным циклом приложений (Appication Lifecycle Management, ALM)?
ALM-решения IBM Rational выделяет прежде всего уровень интеграции. Мощные интеграционные возможности реализуются сейчас в новой платформе Jazz. Вместо того чтобы строить специализированные «мосты» между инструментами, делать интеграционные запросы, реализовывать импорт и экспорт данных, мы предлагаем навигацию по интеграционной среде ALM Web, построенной на принципах Internet, которая поддерживает взаимодействие между различными этапами жизненного цикла приложений.
В каком состоянии сейчас разработка платформы Jazz, какую роль она играет в развитии продуктов Rational?
Первый продукт на базе Jazz, система поддержки совместной работы Rational Team Concert, был представлен в прошлом году. Сейчас три продукта семейства Rational базируются на платформе Jazz.
В перспективе развитие всех решений IBM Rational будет связано с Jazz. По моему мнению, Jazz будет играть такую же, а возможно, даже более важную роль в эволюции средств разработки IBM, какую в свое время сыграла платформа Eclipse.
Фундаментальное значение Jazz можно пояснить на примере сервис-ориентированной архитектуры. Компании развертывают SOA с целью сделать свои приложения максимально гибкими, способными оперативно реагировать на изменения в бизнес-требованиях. Мы применяем те же самые принципы в инструментальной платформе. Мы создаем специальный уровень общих сервисов, доступных для всех инструментов разработки на различных этапах жизненного цикла ПО, тем самым добиваясь большей гибкости среды разработки. В Jazz уделяется также очень большое внимание поддержке совместной работы всех участников проекта создания приложения.
IBM применяет методы «скорой» разработки. Есть ли в них что-то, что вы считаете неприемлемым?
«Скорая» разработка не является идеальной для всех ситуаций. Есть проекты, которые руководствуются очень строгими требованиями и должны быть предельно структурированы, например разработка ПО для нужд аэрокосмической индустрии, создание коммуникационных и мобильных устройств. Такие проекты по-прежнему реализуются с помощью итерационных методик, а иногда даже по методу «водопада». А есть системы, требования к функциональности которых могут меняться и для которых планируется выпуск нескольких релизов в течение года. В этом случае «скорые» методы разработки очень хорошо применимы.
Чем сегодня принципиально отличаются проекты разработки программного обеспечения по сравнению с ситуацией, например, пятнадцатилетней давности?
Географической распределенностью. Сам процесс разработки распределен по разным регионам и странам, часто некоторые его этапы, например тестирование, передаются на аутсорсинг. Поэтому так важны эффективные механизмы интеграции не только инструментария, но и людей и различных этапов процесса разработки.