Сравнительный анализ программ HP Application Lifecycle Management (ALM), IBM Rational Quality Manager, Team Foundation Server.

Сравнительный анализ программ HP Application Lifecycle Management (ALM), IBM Rational Quality Manager, Team Foundation Server.

Архитектура Team Foundation Server

Создание проектов и управление ими в Team Foundation Server


 

 

Сравнительный анализ программ HP Application Lifecycle Management (ALM), IBM Rational Quality Manager, Team Foundation Server.

Microsoft Team Foundation Server (TFS) — это платформа для организации совместной работы группы разработчиков при управлении жизненным циклом приложений, разрабатываемых в среде Visual Studio. Сервер TFS предоставляет базовые услуги, такие как управление версиями, отслеживание рабочих элементов проекта и ошибок, автоматизация построения приложений, а также хранилище данных. Мощные средства составления отчетов и панели мониторинга позволяют получить представление об общем состоянии проекта и тенденциях его изменения в прошлом, помогают своевременно обнаруживать потенциальные проблемы и принимать взвешенные решения для возможного изменения параметров проекта. Кроме того, гибкие средства планирования и интеграция с Microsoft Project и Project Server помогают планировать проекты и управлять ими.

TFS работает по трёхуровневой архитектуре: клиентский уровень, прикладной уровеньиуровень данных.Клиентский уровень используется для создания и управления проектами, а также для доступа к хранимым и управляемым элементам проекта. На этом уровне TFS не содержит никаких интерфейсов пользователя, но предоставляет веб-сервисы, которые могут быть использованы клиентскими приложениями для самостоятельной интеграции в функциональность TFS. Эти веб-сервисы используются такими приложениями, как Visual Studio 2010. Сами веб-сервисы находятся на прикладном уровне. Прикладной уровень включает в себя веб-портал и репозиторий (хранилище) документации, основанный на Windows SharePoint 2010. Веб-портал, называемый Team Project Portal (портал командного проекта), выступает в роли центра взаимодействия для проектов, управляемых TFS.

Репозиторий используется как для элементов проекта (исходных файлов программы, документов для управления деятельностью рабочих групп и т.д.), так и для отслеживания их ревизий и генерации отчетов. Уровень данных, основанный на использовании Microsoft SQL Server 2010, обеспечивает хранение данных в репозитории документов. Уровень данных и уровень приложений могут существовать на различных физических или виртуальных серверах при использовании Windows 2008. Уровень данных не взаимодействует с клиентским уровнем напрямую, только через прикладной уровень.

Большая часть действий в TFS происходит с «рабочими элементами» проекта. Рабочими элементами называются отдельные единицы (шаги) процесса реализации проекта, выполняемые поочередно. Рабочие элементы могут быть нескольких типов, например Ошибка, Задача, Требование качества, Сценарий и т. д. Эти элементы хранятся в форматеXMLи могут быть легко модифицированы путем добавления новых атрибутов или создания новых элементов. Каждый рабочий элемент имеет соответствующие методики контроля, которые определяют, кому какие именно элементы доступны и какие действия он с ними может производить (просмотр, редактирование, создание, удаление и др.). Также подразумевается использование уведомлений и возможность ведения файлов протокола для отслеживания истории всего процесса разработки проекта, обращений членов рабочей группы к элементу или его изменений. Также предусматривается дополнительное уведомление определенных членов рабочей группы при наступлении определенных событий.

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

TFS можно интегрировать с Microsoft Excel для создания и отслеживания элементов проекта. Статус элементов в этом случае можно указывать и редактировать непосредственно в Excel, а итоговые таблицы могут обрабатываться TFS, который будет импортировать данные с учетом особенностей управления данным проектом. Кроме того, его также можно интегрировать с Microsoft Project 2010 в качестве клиентской части управления проектом. Элементы проекта можно экспортировать в книги Excel для дальнейшего анализа данных.

TFS не содержит пользовательского интерфейса, но обеспечивает работу веб-сервисов, которые используются таким клиентскими приложениями как VisualStudioTeamSystem(VSTS). Тем не менее, TFS имеет в своем составе приложение Team Foundation Client (TFC), которое может использоваться без VSTS. TFC тоже взаимодействует с соответствующими веб-сервисами. TFS предоставляет клиентский API, который может быть использован клиентским приложением для доступа к его средствам. Также поддерживается язык описаний веб-сервисовWSDL, на тот случай если приложению потребуется непосредственный вызов веб-сервисов. В качестве дополнения доступно приложениеVisualStudioTeamSystemWebAccess, предназначенное для решения аналогичных задач.

 

ALM - Application Lifecycle Management- Управление жизненным циклом приложений

Системы ALM позволяют обеспечить прозрачность, ясное понимание процесса разработки приложений и представить его в качестве одного из бизнес-процессов. Однако не следует рассматривать ALM только как средство мониторинга и контроля за соблюдением требований, предупреждают аналитики. Эти системы предназначены не столько для контроля, сколько для автоматизации процесса разработки и интеграции различных инструментов.


Самой сложной проблемой при внедрении инструментария ALM является непонимание людьми процесса разработки. Часто руководство полагает, что с помощью ALM можно будет наладить работу по строго определенной схеме. Однако все спланировать заранее невозможно. В разработке приложений часто приходится проделывать несколько итераций на каждом шаге, выпускать промежуточные версии и постепенно повышать функциональность приложения. Система ALM должна не ограничивать действия разработчиков, а способствовать процессу.

В ИТ-индустрии любят поговорить насчет барьеров между ИТ и бизнесом, однако внутри самой ИТ-структуры существует масса менее заметных барьеров, которые могут встать на пути неосторожного системного интегратора.[1]

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

Это напряжение вызывает рост интереса к технологии управления жизненным циклом приложений (Application Lifecycle Management — ALM), представляющей собой набор средств управления, спроектированных с целью обеспечить программистам и сотрудникам ИТ-службы более ясное понимание сути разрабатываемого приложения и инфраструктуры, в которой это приложение должно выполняться. Основная идея заключается в том, что облегчение сотрудничества между разработчиками и ИТ-специалистами приведет к более эффективному функционированию всей корпоративной информационной среды. Проблема в том, что внедрение ALM имеет мало шансов в ситуации, когда две стороны, сотрудничество между которыми необходимо для обеспечения успеха проекта, начинают перекладывать друг на друга ответственность за возникающие трудности.

Конечно, на устранение таких противоречий в ИТ-инфраструктуре организаций могут уйти значительные средства. Однако единственная конечная цель этой работы должна состоять в создании и внедрении набора технологий управления, которые бы позволили программистам и специалистам по ИТ-операциям перестать мешать работе друг друга. Чем больше времени программисты проводят, обсуждая с ИТ-специалистами вопросы сотрудничества, тем меньше времени у них остается непосредственно на разработку. Чем больше приложений будет создано, тем более развитая инфраструктура будет необходима и это, конечно, хорошая новость для реселлеров.

В целом дебаты вокруг DevOps определенно полезны для реселлеров и интеграторов. Проблема заключается в том, чтобы не втянуться во внутренние конфликты, связанные с желанием выполнять параллельно слишком много ИТ-проектов. Если заказчик не приемлет саму концепцию ALM, это фактически очень хороший показатель его недостаточной зрелости и слабой компетенции в управлении ИТ. Это само по себе позволяет предположить, что реселлеру лучше держаться подальше от такого заказчика, поскольку высока вероятность, что такой клиент принесет гораздо больше проблем, чем прибыли.

Rational Quality Manager — это решение для совместной работы, предназначенное для обеспечения высокого качества программного обеспечения и систем с учетом особенностей бизнеса и поддерживающее практически все платформы и типы тестирования. Это программный продукт обеспечивает удобное совместное использование данных в рабочих группах, поддерживает автоматизацию для сокращения сроков выполнения проектов и позволяет создавать отчеты о ходе работы для принятия более обоснованных решений.

 

Rational Quality Manager — это надежный помощник для сотрудников отдела контроля качества:

  1. Совместная работа — общий доступ к данным проекта и сведениям о состоянии позволяет синхронизировать работу в группе на протяжении всего жизненного цикла.
  2. Автоматизация — уменьшение объема трудоемких задач позволяет сократить сроки выполнения проектов.
  3. Управление — полное представление о характеристиках проекта позволяет принимать точные, надежные и своевременные решения.

Совместная работа

  • Планы тестирования четко описывают цели проекта и условия его завершения, а также позволяют отслеживать обязанности участников и ключевые элементы, подлежащие проверке. ИТ-специалисты знают, чего от них ожидают и чего следует ожидать от других участников проекта.
  • Rational Quality Manager построен на базе технологий Java и Web 2.0, поэтому совместная работа осуществляется с помощью браузера.
  • В программе отображаются две сводные панели: в списке рабочих элементов выводятся назначенные тестировщику задачи, а в журнале событий группы — общий ход выполнения проекта.
  • Функция идентификации дефектов находит дефекты, связанные со множеством артефактов, и представляет потенциальные дубликаты в виде списка, что позволяет свести лишние действия к минимуму.
  • Такие возможности, как ленты событий, интегрированный чат и автоматическое отслеживание, обеспечивают эффективное взаимодействие распределенных рабочих групп.

Автоматизация

  • Для создания тестов вручную доступен многофункциональный текстовый редактор, позволяющий описывать этапы тестирования как с помощью текста, так и с помощью изображений. Ускорьте тестирование в ручном режиме с помощью средств форматирования текста, встроенных изображений и автоматизации ввода и проверки данных для более точного определения и выполнения тестов.
  • Для повторного использования тестов в Rational Quality Manager поддерживаются ключевые слова, что позволяет тестировщикам включать в тесты общие этапы. С помощью автоматизированных ключевых слов тестировщики могут создавать гибридные ручные тесты.
  • Rational Quality Manager автоматически отбирает минимальное количество тестов, необходимое для заданного уровня охвата среды. Тестировщики могут оптимизировать охват конфигурации с помощью ограничений по времени и ресурсам.
  • Упреждающее управление рисками с расстановкой приоритетов функций, которые требуется тестировать, на основании их значимости, вероятности и возможных последствий в случае сбоя. Эта функция работает на основе рекомендаций по управлению рисками.
  • Управление тестовыми лабораториями помогает отслеживать, планировать и выполнять тесты с использованием физических и виртуальных ресурсов. Для оптимального использования ресурсов тестовых лабораторий тестировщики могут зарегистрировать физические и виртуальные ресурсы и спланировать тестирование в соответствии с конфигурацией ресурсов.

Управление

  • Каждый пользователь может настроить внешний вид и содержимое своей сводной панели Rational Quality Manager. Поскольку сводная панель постоянно обновляется, каждому пользователю доступна самая актуальная информация о выполняемой работе.
  • Функции отчетности помогают учитывать пожелания и требования менеджеров по качеству, бизнес-аналитиков и управляющих релизами.
  • Rational Quality Manager поддерживает возможности управления версиями и отслеживания проектов на протяжении всего жизненного цикла от формирования требований и тестирования до обнаружения и устранения дефектов.
  • Встроенные возможности создания отчетов об окупаемости для тестовой лаборатории и тестовых ресурсов соответствуют стандарту IBM Measured Capability Improvement Framework.