oldi

Caliber 2005 и StarTeam 2005

Наталия Елманова

 

Средство управления требованиями Borland CaliberRM и средство управления конфигурациями программного обеспечения Borland StarTeam были приобретены корпорацией Borland совместно с компанией Starbase в начале 2003 года. Именно в это время компании-разработчики начали проявлять повышенный интерес к средствам управления жизненным циклом приложений, отличным от средств разработки приложений. Мы уже писали об этих продуктах, однако кратко напомним, что они собой представляют.

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

Нередко эти требования формулируются в виде обычного текстового документа (например, технического задания). Однако в последнее время все большую популярность приобретают средства автоматизации управления требованиями, позволяющие не только сгенерировать нужный документ, но и упростить процессы, связанные с их реализацией и изменением. Применение подобных средств особенно актуально в больших проектах, когда число требований исчисляется сотнями и даже тысячами. Именно к этой категории продуктов относится CaliberRM. Данный продукт позволяет добавлять в текст требований иллюстрации, диаграммы сценариев, состояний, потоков данных, диаграммы классов и моделей данных, описывать нестандартные категории требований и создавать свойства требований, определяемые пользователями, переносить текст требований в код приложений, создаваемых с помощью Delphi, Visual Studio .NET, JBuilder, взаимодействовать с новой версией средства тестирования TestDirector 8.0 компании Mercury Interactive, создавать отчеты по данным, отслеживать выполнение требований в процессе работы над проектом. С помощью отдельного продукта CaliberRM Datamart можно создавать аналитические отчеты на основании данных об управлении требованиями проектов, осуществляемых в компании, оценивать его эффективность, представлять эти данные в виде диаграмм и выполнять запросы к ним.

Условия реализации проектов, связанных с разработкой программного обеспечения, в последние несколько лет значительно усложнились: заказчики сегодня становятся все более разборчивыми и придирчивыми, а сами проекты — все более сложными. И в этом случае без управления изменениями зачастую довольно сложно обойтись. Изменения могут происходить и в требованиях, и в коде, и в моделях, созданных на этапах бизнес-моделирования и проектирования.

Borland StarTeam — это масштабируемое средство управления изменениями, хранящее в централизованном репозитарии все необходимые данные и облегчающее взаимодействие сотрудников, ответственных за выполнение различных задач. Данный продукт предоставляет команде участников проекта разнообразные средства для публикации требований, управления задачами, планирования, работы, обсуждения изменений, контроля версий, организации документооборота. StarTeam хранит в едином репозитарии все данные о проекте (исходные тексты, модели, документы, их различные версии). Для этого продукта созданы дополнения к различным средствам разработки, при помощи которых участник проекта может обращаться к данным из среды разработки в соответствии со своими должностными обязанностями.

Из особенностей StarTeam отметим в первую очередь средства документирования изменений, наличие средств управления версиями артефактов и их сравнения, возможность автоматического возобновления сетевых соединений после сбоев без необходимости перезапуска клиентской части, развитые средства диагностики сбоев. Этот продукт поддерживает разные клиентские интерфейсы (в частности, Windows-интерфейс и Web-интерфейс), позволяет организовывать дискуcсии между членами проекта и документооборот, связанный с проектом. На базе StarTeam можно создавать свои решения для конфигурационного управления — в комплекте поставки продукта имеются Java и COM SDK.

Кроме того, в числе особенностей StarTeam заслуживают упоминания наличие средств поддержки распределенных команд разработчиков, взаимодействующих через Интернет, поддержка широкого спектра платформ и операционных систем, развитые средства защиты данных на стороне клиента и сервера, средства доступа к репозитариям Merant PVCS Version Manager и Microsoft Visual SourceSafe, средства интеграции с Microsoft Project, а также средства визуального представления данных, создания отчетов и поддержки принятия решений.

Отличием обоих означенных продуктов является вполне корректно реализованная поддержка русского языка — по-русски можно формулировать требования, вносить комментарии, именовать артефакты, свойства и категории требований. Многие российские пользователи этих продуктов отмечают отсутствие проблем, связанных с поддержкой русского языка, — наподобие тех, что встречаются при применении некоторых конкурирующих продуктов.

Из других особенностей данных продуктов стоит отметить возможность обработки событий, а также поддержку аутентификации пользователей с помощью LDAP-каталогов.

До того как компания Starbase была приобретена компанией Borland, она не вела активной деятельности в России, поэтому в начале 2003 года указанные продукты были не слишком известны в нашей стране. Однако за прошедшие полтора года они завоевали определенную популярность, и многие российские компании сегодня уже изучают возможность их внедрения, а некоторые даже успели их приобрести. За эти же полтора года дважды были выпущены новые версии StarTeam и CaliberRM.

О путях развития данных продуктов и рынка программного обеспечения для управления коллективной разработкой, а также об особенностях новых версий этих продуктов мы беседовали с Корне Хьюманом (Corne’ Human), менеджером, отвечающим за продажи StarTeam и CaliberRM в Европе. Предлагаем вашему вниманию фрагмент этого интервью.

Наталия Елманова: Что нового появилось за последнее время в линейке продуктов CaliberRM и Starteam?

Корне Хьюман: Две недели назад мы объявили о выпуске новых версий — Starteam 2005 и CaliberRM 2005. Начну с описания CaliberRM 2005.

Мы внесли много изменений в область описаний требований еще в версию CaliberRM 6, выпущенную этой весной. Теперь описание может содержать все что угодно — рисунки, таблицы, выделения шрифтом и цветом, равно как и сгенерированные на его основе документы.

 

Корне Хьюман

Корне Хьюман

Н.Е.: Если заказчику необходимо отредактировать требования, то возможно ли предоставить ему какой-либо интерфейс для доступа к ним?

К.Х.: Такая возможность существует. Обычно разработчики покупают Windows- или Java-клиенты, а при необходимости — дополнительное Web-приложение, предоставляющее заказчикам доступ к требованиям посредством Web-клиента. Заказчик с его помощью может принять или отклонить требование, принять участие в обсуждениях, связанных с этим требованием.

Кроме того, в наших продуктах появилась поддержка электронной подписи. И если вы принимаете требования, вы можете подтвердить их своей электронной подписью.

Н.Е.: Не каждый российский заказчик согласится поставить на техническое задание электронную подпись — многие все еще предпочитают бумагу, запертую в сейфе.

К.Х.: Обычно бумажный документ генерируется на основе утвержденного и заблокированного набора требований, который уже не подлежит редактированию. И такой набор тоже можно подтвердить электронной подписью. Но можно и не подтверждать — электронная подпись не является обязательной к применению.

Помимо этого мы теперь поддерживаем Mercury Test Director 8 и подписали партнерское соглашение с Segue.

Н.Е.: Означает ли это, что теперь с помощью CaliberRM можно сгенерировать план тестирования для средств тестирования Mercury и Segue?

К.Х.: Означает. Вы можете сгенерировать на основе требований, хранящихся в CaliberRM, заготовку плана тестирования. В этом случае вы при тестировании проверяете не код, а то, удовлетворяет ли данный продукт требованиям заказчика. Почему-то все проверяют, правильно ли работает приложение, не заботясь о том, является ли оно само в данном случае правильным, то есть специалисту по тестированию дают код и просят проверить, правильно ли этот код работает. Но то, что код работает правильно, вовсе не означает, что заказчику нужен именно этот код.

Н.Е.: Обычно руководители проектов дают специалистам по тестированию техническое задание. В противном случае может действительно оказаться, что написано будет совсем не то, что заказано.

К.Х.: Именно в этом и заключается смысл управления требованиями  — убедиться, что продукт делает именно то, что нужно заказчику.

Итак, первое — это возможность генерации заготовки плана тестирования. Второе  — возможность организовать связь между требованием и любым тестом. И эта связь обновляется в реальном времени, то есть можно увидеть, что какой-то тест выполнился и что какой-то не прошел, а также то, с каким требованием связан этот тест.

Еще одно новшество CaliberRM — обработка событий, основанная на прослушивании того, что происходит на сервере CaliberRM, и позволяющая писать триггеры для обработки событий на сервере CaliberRM. Например, если произошло изменение требования, создаются новые связи и выполняются еще какие-нибудь действия, например пересчет вычисляемых полей. Можно при помощи предоставляемых нами API организовать интеграцию и с инструментами независимых производителей. Например, при обновлении требования можно обратиться к средству управления изменениями и изменить данные, связанные с этим требованием, отправить уведомление, автоматизировать другие бизнес-процессы.

Н.Е.: Не могли бы вы рассказать о новых средствах оценки требований, встроенных в CaliberRM?

К.Х.: Estimate Pro — это встроенное в CaliberRM средство оценки проекта на основе требований. Estimate Pro позволяет оценить стоимость проекта и составить расписание работы над ним. Исходной информацией для Estimate Pro является требование, получив которое, Estimate Pro обращается к базе данных, содержащей сведения о многих завершенных проектах во многих странах за много лет. Вы также указываете тип проекта (бизнес-приложение, Web-приложение и т.д.). Estimate Pro анализирует исторические данные и создает оценку того, сколько времени потребует реализация требований и сколько для этого понадобится людей. А результат оценки может послужить поводом для переговоров о цене проекта и об ожиданиях от него. Например, вы видите, что на выполнение проекта необходимо семь месяцев, а у вас есть только шесть. И тогда вы наглядно объясняете заказчику, что не сумеете выполнить все его требования за шесть месяцев. Затем в процессе переговоров можно отказаться от каких-то требований, снова произвести оценку и выяснить, удастся ли теперь уложиться в шесть месяцев. Таким образом, имея оценку проекта, можно поднимать вопрос о повышении расходов или увеличении сроков, проигрывая различные сценарии типа «что, если…».

Н.Е.: Я всегда мечтала о появлении таких инструментов. Но в разных странах (и даже в разных городах) цены проектов могут быть неодинаковы, поскольку различна стоимость рабочего времени того или иного специалиста. Можно ли при оценке стоимости изменить какие-либо параметры — в соответствии с условиями того или иного региона?

К.Х.: Этот инструмент хранит сведения о многих проектах и их результатах, но вы можете указать стоимость для различных типов работ, например стоимость управления проектом или создания кода. И вы можете также указать ограничения, например невозможность в данном проекте выйти за рамки определенной суммы. К тому же вы можете как воспользоваться нашими данными о проектах и их исходе, так и обратиться к истории своих собственных проектов, дополнив нашу базу своим опытом и данными, и соответственно оценить стоимость новых проектов уже на основании своего собственного опыта.

На рис.1 приведены требования, импортированные из Caliber, а также оценки времени выполнения проекта и его стоимости. При этом можно увидеть разброс этих значений на верхней диаграмме. Каждая точка — это данные о реальном аналогичном завершенном проекте со сходным набором требований.

 

Рис. 1. Estimate Pro

Рис. 1. Estimate Pro

Estimate Pro позволяет получить и другие типы отчетов, например оценку стоимости отдельных этапов проекта, а также сведения о том, какие специалисты требуются на каких этапах.

Н.Е.: А есть ли у Estimate Pro средства интеграции c Microsoft Project? Например, можно ли сгенерировать план проекта после определения требований?

К.Х.: Да, можно. А затем можно вернуться в Caliber и оценить стоимость проекта. Или добавить требования Caliber в план, созданный в Project.

Н.Е.: Во многих проектах есть работы, которые нельзя начать, не завершив каких-то других работ, как есть и понятие критического пути проекта. Можно иметь тысячу работ продолжительностью в одну неделю, но реально проект будет длиться при этом полгода. Есть ли в Caliber способы контроля зависимости между частями проекта c целью получения адекватной оценки времени его выполнения?

К.Х.: Estimate Pro может использовать связи между требованиями, описанные в Caliber. Но только от вас зависит, на какие именно связи вы укажете при оценке ресурсов проекта.

Н.Е.: Лично я не отказалась бы от такого инструмента. Оценка времени и ресурсов — одна из важнейших составляющих проекта.

К.Х.: Да, мне тоже кажется, что этот инструмент будет востребован. Я думаю, IT-индустрия страдает из-за плохой оценки проектов и из-за того, что некоторые требования вообще не выполняются. Не всегда заказчики и руководители проектов задумываются над тем, что кое-что просто невозможно выполнить. На мой взгляд, переговоры между автором требований и исполнителем должны вестись на основе корректного научного подхода. Чем реалистичнее будут ожидания от проекта, тем более высока вероятность его успеха.

Н.Е.: В последнее время много говорилось о средствах поиска для CaliberRM. Что вы можете о них рассказать?

К.Х.: Cредства поиска, общие для CaliberRM и StarTeam, мы называем Borland Search Server (а иногда Google for ALM). Эти средства позволяют ввести ключевое слово и найти все, что имеет к нему отношение, во всех репозитариях Borland, в репозитариях StarTeam и Caliber, обратиться к внешним репозитариям (в том числе и не имеющим отношения к Borland), к любой базе данных, просмотреть историю изменений в средствах контроля версий и найти именно то, что вам нужно (рис. 2). В случае StarTeam мы управляем файлами, запросами на изменение, дискуссиями, требованиями и можем осуществлять поиск в них, поскольку индексирующий сервер автоматически индексирует любой файл, зарегистрированный в StarTeam. А затем выводится результат поискового запроса, и мы можем, щелкнув на ссылке, загрузить нужное приложение и увидеть подробности о выбранном артефакте. Например, можно ввести имя заказчика и получить список всех его требований, или все его запросы на изменения, или дефекты, о которых он сообщил, и т.д.

 

Рис. 2. Поиск артефактов с помощью Borland Search Server

Рис. 2. Поиск артефактов с помощью Borland Search Server

Средства поиска входят в StarTeam 2005 и Caliber 2005 как отдельный, но интегрированный с ними продукт. Вы можете писать свои средства интеграции для этого инструмента либо регистрировать для него другие источники данных — с этой целью мы поставляем соответствующие SDK.

А еще в нашем поисковом сервере есть средства определения рейтингов, которые позволяют найти наиболее подходящие ответы.

Н.Е.: А может ли администратор или пользователь изменить критерии присвоения этих рейтингов? Ведь алгоритмы построения поискового запроса могут различаться. Например, один алгоритм предполагает, что наибольший рейтинг нужно присвоить результату, у которого слова из поискового запроса находятся как можно ближе друг к другу, другой при присвоении рейтингов основывается на принципе частотности слов, а наиболее совершенные инструменты позволяют пользователю самому определять критерии релевантности.

К.Х.: Пока, к сожалению, я не могу ответить на этот вопрос.

Н.Е.: Появились ли у Borland планы создания русской версии CaliberRM?

К.Х.: В будущем году мы собираемся заниматься локализацией CaliberRM. Правда, выхода русской версии пока не ожидается.

Н.Е.: Жаль. Отсутствие локализованной версии Delphi или JBuilder не столь заметно, как отсутствие локализованных продуктов для менеджеров и заказчиков. Если кто-либо претендует на должность программиста и не умеет читать по-английски, его можно просто не нанимать на работу (или же этот человек сможет писать код на Visual Basic .NET, русская версия которого уже есть). А вот с людьми, определяющими требования, все обстоит гораздо сложнее — их за незнание языка обычно не увольняют.

К.Х.: Возможно, когда-нибудь у нас дойдут руки и до выпуска русской версии.

А еще я хочу упомянуть о TraceMaker — этот инструмент, позволяющий отслеживать работу над требованиями в процессе выполнения проекта, станет доступен уже в ноябре. Мы проделали очень большую работу по созданию подобных средств, позволяющих создавать связи между требованиями и элементами моделей, требованиями и кодом, требованиями и тестами, требованиями и артефактами, связанными с развертыванием. У нас существуют интересные технологии в этой области, и в ближайшее время ожидается ряд соответствующих объявлений.

Так, мы сможем объединить StarTeam и CaliberRM в один сервер. Это значит, что CaliberRM приобретет новую функциональность, которая уже имеется в StarTeam, например интегрированный компонент запроса на изменение, редактируемые формы, документооборот.

Н.Е.: А что нового появилось в StarTeam 2005?

К.Х.: В первую очередь отмечу новые средства повышения его надежности: теперь сервер StarTeam может работать круглосуточно, осуществлять резервное копирование без остановки и даже конвертировать старые данные в новый формат. Хотя с конвертированием можно и не спешить — новая версия сервера поддерживает и старые данные.

Отметим значительное увеличение максимально возможного размера архива в StarTeam. Сейчас это петабайты (миллионы миллионов гигабайт), и этого хватит любой компании.

Кроме того, сейчас мы создали средства, позволяющие избежать дублирования хранения одних и тех же данных, даже если они используются в разных проектах. А также StarTeam поддерживает LDAP-аутентификацию пользователей.

Н.Е.: Во всех LDAP-каталогах, в том числе от Novell, Sun?

К.Х.: Во всех, и это стало возможно благодаря новой архитектуре хранения данных.

Еще одна область — StarTeam MPX Cache Agent, обеспечивающий с помощью Message Broker обмен сообщениями между серверами и репликацию данных. Cache Agent позволяет, имея один сервер, использовать несколько кэшей. Это обеспечивает повышение масштабируемости и упрощение распределенной разработки, а также минимизирование числа задействованных соединений с сервером. Клиент теперь может напрямую работать с локальным кэшем, и его работа не будет зависеть от надежности соединения.

Благодаря Cache Agent стало возможным создать средства восстановления соединения после сбоя, в том числе завершения начатой ранее транзакции. Кстати, хотя Cache Agent позволяет многим пользователям работать с центральным сервером, нередко большую часть запросов он выполняет сам. Например, можно получить нужный артефакт не с центрального сервера, а с какого-нибудь еще. Опять же файлы, предназначенные для репликации на другие серверы, передаются один раз, а не выдаются по любому запросу.

А еще стоит упомянуть наличие у StarTeam великолепных средств интеграции с Delphi 2005, JBuilder и Together (рис. 3). Вообще, внутри среды разработки вы найдете все артефакты StarTeam.

 

Рис.3. Интеграция StarTeam с Borland JBuilder

Рис.3. Интеграция StarTeam с Borland JBuilder

Кроме того, мы поставляем COM, .NET и Java API для того, чтобы нашим клиентам можно было создавать свои средства интеграции SatrTeam с другими инструментами.

Н.Е.: И CaliberRM, и StarTeam — продукты недешевые. Не планируете ли вы выпустить какие-нибудь недорогие версии, пусть даже с ограниченной функциональностью? Например, для небольших компаний и групп, которым не требуется какая-то особая масштабируемость, равно как и распределенная система серверов по всему миру, а нужно всего лишь средство управления артефактами и требованиями внутри своего офиса.

К.Х.: С точки зрения функциональности, которую предоставляют эти продукты, их цена не так уж и высока.

Н.Е.: Не буду спорить, но полагаю, что многие IT-менеджеры и руководители проектов могут не знать о существовании инструментов, отличных от средств разработки приложений. Им нужно демонстрировать, на что конкретно способны продукты типа CaliberRM или StarTeam. И для того, чтобы убедить их в необходимости купить такой инструмент, с его помощью нужно создать проект и выяснить, окупится ли данное приобретение. А срока действия ознакомительной версии длительностью 15 (или даже 30) дней недостаточно даже для того, чтобы согласовать техническое задание, что уж там говорить об остальных стадиях выполнения проекта.

Для сравнения: ознакомительная версия Windows Server 2003 работает 180 дней  — срок, достаточный для того, чтобы изучить эту операционную систему вдоль и поперек, поэксплуатировать ее в реальных условиях, хотя она и не столь дорога, как StarTeam или CaliberRM.

К.Х.: У нас сейчас длительность ознакомительного периода — 15 дней. Но я согласен, что такие продукты требуют более длительного периода для ознакомления. И если вы попросите нас продлить ознакомительную лицензию, вам, скорее всего, не откажут.

Что касается выпуска бесплатных версий, то на данной стадии их развития эти продукты еще не являются тем, что следовало бы сделать общедоступным. StarTeam и CaliberRM пока еще не достигли пика своей популярности. Поясню свою мысль. Когда продукт уже достиг максимума своей популярности и объемы его продаж начали снижаться, то либо он может быстро уйти с рынка вследствие появления новых технологий, которые сделают его устаревшим, либо уровень его востребованности будет снижаться постепенно. Вот здесь-то и пригодятся бесплатные версии — они поддержат интерес к продукту и не позволят ему быстро покинуть рынок.

Например, возьмем такой продукт, как JBuilder. А вдруг через год весь мир решит, что только .NET — достойная технология, а от Java нужно избавляться? (Я не предсказываю подобного развития событий, это всего лишь сценарий типа «что, если…».) В этом случае можно поддержать рынок Java, выпустив JBuilder Community Edition.

Пока что CaliberRM и StarTeam еще не достигли этой фазы — они находятся в той стадии, когда интерес к ним постоянно растет. Потому и нет бесплатных версий.

Н.Е.: Спасибо за интересную беседу. КомпьютерПресс желает вам успеха на российском рынке — думаю, рост интереса к CaliberRM и StarTeam можно прогнозировать и у нас.

КомпьютерПресс 1'2005