Название базовой системы (платформы): | IBM Rational |
Разработчики: | IBM |
Технологии: | Средства разработки приложений |
Содержание |
IBM Rational Jazz - это открытая и масштабируемая платформа от IBM Rational, которая предоставляет группе разработчиков, распределенной географически и находящейся в разных временных зонах, удобные средства для организации эффективного процесса командной работы. Это одновременно и технология, и платформа для разработки ПО, которая делает процесс более открытым и прозрачным. С концептуальной точки зрения, IBM видит Jazz в трех аспектах - технология, взгляд IBM на то, как будет осуществляться разработка ПО в будущем и эволюция портфолио IBM Rational. Платформа Jazz - это главное инвестирование IBM в создание масштабируемой, расширяемой системы по управлению жизненным циклом ПО, которая интегрирует современные технологии и инструменты командной работы с традиционными средствами разработки.
Прежде всего, Jazz позволяет поднять взаимодействие в командах на новый уровень за счет использования Web 2.0 технологий, минимизировать издержки и повысить качество путем автоматизации, и, что особенно важно, предоставляет прозрачную актуальную отчетность о ходе проекта, утилизации ресурсов. Кроме того, технологии Jazz позволяют компаниям строить гетерогенные системы для разработки ПО, предоставляя гибкость в выборе средств разработки для организации и управления жизненного цикла разработки продуктов в зависимости от нужд и финансовых возможностей компании.
Среди ключевых аспектов технологий платформы Jazz, пожалуй, можно выделить следующие:
- Командная работа - предоставлять информационную прозрачность команд для сотрудничества
- Автоматизация - автоматизировать рутинные задачи за счет удобных процессов и средств
- Отчетность - предоставлять актуальную информацию о проектах и утилизации ресурсов.
- Квинтэссенция принципов командной работы, которую реализует платформа Jazz, - улучшать знания и консолидировать опыт и навыки в среде, развивающей личность и командный дух.
Бизнес-мотиваторы использования субподряда
За последние 20 лет в ИТ-отрасли проявились две важные тенденции:
- Во-первых, организации, интенсивно использующие информационные технологии, осознали, что эти технологии являются ключевым фактором их деятельности и при правильном управлении могут принести организации значительную выгоду.
- Во-вторых, обычным стал полный или частичный перевод процессов и сервисов ИТ-инфраструктуры на субподряд. Разработка ПО является одним из тех ИТ-процессов, которые в последние годы переводились на такую модель чаще всего.
Разработка ПО на субподряде может быть определена как полная или частичная передача функций разработки ПО внешнему поставщику услуг или субподрядчику. Субподрядчик - это внешняя организация, которая занимается разработкой и обслуживанием приложений для своих клиентов (подрядчиков), помогая им снизить расходы и получить доступ к более качественным ресурсам благодаря своему опыту и знаниям. Ответственность за конечный продукт несет компания, на которую работают субподрядчики, и потому именно она владеет и управляет процессом разработки.Как с помощью EvaProject и EvaWiki построить прозрачную бесшовную среду для успешной работы крупного холдинга
Согласно Сэхей (Sahay) и др. (см. раздел Ресурсы), разработка ПО на субподряде имеет особенности, выделяющие ее из других видов субподрядных работ в ИТ-области, поскольку она включает в себя физически неосязаемые артефакты, оцениваемые по субъективным свойствам, таким как эффективность алгоритмов, удобство пользовательского интерфейса, производительность и масштабируемость ("дизайн и разработка ПО никогда не заканчиваются").
Ситуации, в которых используется субподряд, весьма разнообразны. Простейшей моделью является размещение субподрядчиков в офисе подрядчика. В более сложных ситуациях для уменьшения расходов могут привлекаться субподрядчики из-за океана (например, из Китая или Индии). В некоторых случаях субподряд применяется только в определенной части цикла разработки ПО, потому что субподрядчик имеет уникальный или узкоспециализированный опыт (например, сервисы тестирования), а в крайних ситуациях подрядчик может передать разработку и управление всем продуктом одному или нескольким субподрядчикам, осуществляющим разработку и управление проектом на принципах аутсорсинга.
Как показано на рисунке 1, в зависимости от конкретной ситуации в пределах этого спектра компании могут управлять своими моделями разработки ПО по-разному.
В статье эти типы моделей унифицированы и классифицированы по нескольким параметрам (например, местоположение ресурсов субподрядчика, переданные на субподряд области разработки ПО, продолжительность контрактов, размер компаний-субподрядчиков). Местоположение является самым распространенным способом дифференцировать виды субподряда, и в отрасли используются следующие понятия, характеризующие различные модели:
Наемные разработчики, работающие в компании
Все разработчики работают в компании. Это самая дорогостоящая модель, требующая выделения средств на зарплату, организацию рабочих мест и оборудование. Данная модель не рассматривается в нашей статье.
Внутристрановой (onshore) субподряд
Контракты на субподряд заключаются между компаниями внутри одной страны.
Приграничный (nearshore) субподряд
Субподрядные работы ведутся в странах с родственной культурой и близким географическим расположением, как у США и Канады или Великобритании и Ирландии.
Оффшорный (offshore) субподряд
Для выполнения некоторых или всех бизнес-функций нанимаются внешние организации, находящиеся в далеких странах.
Оффшорная модель может дать существенные экономические преимущества (например, работа с индийскими компаниями может снизить затраты на рабочую силу на 40-60 процентов, а на индийском ИТ-рынке очень много высококвалифицированных профессионалов). Однако необходимо изучить весь проект, чтобы определить реальную экономию, поскольку проблемы взаимодействия могут уменьшить ожидаемую прибыль.
Для снижения расходов многие компании все еще применяют гибридную модель и используют как внешние трудовые ресурсы, так и собственных разработчиков, тем самым уменьшая риск благодаря выполнению определенных ключевых работ силами собственного отдела. Оффшорная разработка в настоящее время является крупнейшей тенденцией в ПО-индустрии.
Термин "субподрядчик" определяется по-разному. Некоторые авторы ввели понятие "фабрика ПО" ("software factory") для ситуации, когда разработка ПО делегируется независимым и высокопроизводительным компаниям.
Быстрое развитие модели разработки ПО на субподряде отвечает главным образом на следующие технические и бизнес-запросы:
- Уменьшение расходов и повышение гибкости выделения ресурсов в зависимости от потребностей.
- Привлечение знаний специалистов, отсутствующих в компании.
- Повышение эффективности процессов благодаря концентрации усилий на основной деятельности.
- Постоянная эволюция технологий, заставляющая компании постоянно меняться.
Гибкая реакция на изменения рынка чрезвычайно важна для успешности компании. Субподряд становится ключевым фактором реализации компаниями необходимой гибкости в области разработки.
Хотя не существует никаких правил или политик относительно принятия решения по передаче разработки ПО на субподряд, субподряд следует рассматривать как возможное решение только в компаниях среднего размера, поскольку важно спланировать дополнительное время и ресурсы, необходимые для общения и управления взаимодействием с субподрядчиками. Могут быть и исключения, например, когда небольшой компании необходимо привлечь по субподряду отсутствующие у нее высококвалифицированные ресурсы.
Передача на субподряд процесса разработки ПО является необратимой тенденцией. Компании осознают большое значение ПО как стратегической составляющей своей деятельности, и субподряд позволяет им сконцентрироваться на бизнес-целях, а не на технической деятельности, что существенно снижает затраты на рабочую силу.
Преимущества и недостатки субподряда
Различные формы разработки ПО на субподряде будут и дальше использоваться на предприятиях, пытающихся снизить расходы. Однако многие субподрядные контракты не дают ожидаемого результата и приводят к проблемам как у подрядчиков, так и у субподрядчиков. Исследования показали, что более половины субподрядных работ не достигают финансовых целей и экономят меньше средств, чем предполагалось. Только те компании, которые имеют набор соответствующих эффективных процессов для управления субподрядными работами, получают конкурентные преимущества и достигают успеха при внедрении этой модели.
Основными преимуществами разработки ПО на субподряде являются снижение расходов, гибкость, техническая специализация и сокращение времени выхода на рынок. Но субподряд также несет новые риски и скрытые расходы, отсутствующие при традиционной разработке ПО собственными силами. Ниже перечислены наиболее серьезные риски:
- Неадекватное планирование и изменение процедур управления, что может задержать время выхода на рынок.
- Отсутствие руководства выполнением проекта.
- Отсутствие общепринятых стандартов обмена активами разработки ПО между подрядчиком и субподрядчиком.
- Проблемы удаленного подключения к общему репозиторию активов.
- Конфиденциальность интеллектуальной собственности.
- Плохое взаимодействие, вызванное разницей во времени, географической удаленностью, культурными и политическими различиями.
- Дополнительные расходы на поездки и удаленную конференц-связь.
- Расхождения между ожидаемым и фактическим результатом.
Существующая литература по разработке ПО на субподряде для управления новыми рисками и решения новых задач предлагает использовать различные методики и инфраструктуры (некоторые из которых используются и в традиционной разработке собственными силами). Разработка ПО на субподряде требует постоянного соблюдения правил и формализации, однако быстрые изменения технологии и связанный с этим недостаток квалификации в новых областях знаний препятствует этому, что повышает риск неудачи.
Многие авторы рекомендуют следовать классической модели CMM (Capability Maturity Model), более полной модели SA-CMM (Software Acquisition Capability Maturity Model), процессам PMI (Project Management Institute), стандартам ISO 9000 или Six Sigma. Самым употребительным в настоящее время процессом является SA-CMM, но на рынке отсутствует четкий стандарт организации эффективной работы с внешними поставщиками услуг разработки программного обеспечения.
Существенной проблемой может стать согласование процессов компании (или подрядчика) и субподрядчика. Если они придерживаются разных стандартов либо используют различную инфраструктуру или инструментальные средства, это может отрицательно сказаться на производительности. Процессы и инструментальные средства необходимо адаптировать для каждой компании или проекта.
Все эти проблемы требуют создания общей рабочей и бизнес-среды для управления работой с внешними субподрядчиками и уменьшения скрытых расходов и рисков.
Преимущества использования платформы Jazz для совместной работы
Наличие ясной инфраструктуры и процесса руководства при субподряде является важным фактором повышения прибыльности. В противном случае субподряд может стать малоэффективным и даже убыточным.
И подрядчикам, и субподрядчикам необходимо менять и адаптировать свои текущие процессы и инструментальные средства для эффективной синхронизации. Необходимо реализовать общую среду разработки для улучшения следующих аспектов:
- Совместной работы и взаимодействия между подрядчиками и субподрядчиками.
- Автоматизации задач и доставки из разных географических точек при меньших затратах, меньшей потребности в ресурсах и в то же время более эффективной и быстрой адаптации к новым требованиям и технологиям.
- Создания отчетов при помощи совместно используемых информационных панелей и общих показателей для соблюдения стандартов и корректировки отклонений в разработке.
Платформа поставки ПО при совместной работе IBM® Rational® Jazz™ помогает улучшить работу с субподрядчиками и решить описанные выше проблемы.
Технология Jazz, идеально подходящая для глобальных и распределенных групп разработчиков, меняет методы совместной работы по созданию ПО, делая процесс создания ПО более эффективным и прозрачным. Jazz можно представить себе как расширяемую инфраструктуру, которая динамически интегрирует и синхронизирует людей, процессы и активы, которые связаны с проектами разработки ПО.
Платформа Jazz позволяет реализовать совместную работу заинтересованных участников бизнеса, экспертов в данной области и всех, кто участвует в создании и поставке ПО, а не только профессиональных разработчиков. Она представляет собой трансформационный скачок в отношении разработки ПО на субподряде, поскольку совершенствует совместную деятельность в контексте разработки, автоматизирует задачи разработки, а также создание отчетов и руководство группами, работающими в разных местах, как показано на рисунке 2.
Jazz основана на архитектурных принципах, полностью отличающихся от принятых ранее подходов. В отличие от монолитных закрытых продуктов прошлого Jazz использует инновационный подход к интеграции, основанный на открытых гибких сервисах и интернет-архитектуре. Программные продукты, созданные на платформе Jazz, используют богатый набор возможностей для командной разработки и поставке ПО. Более подробная информация о платформе Jazz размещена на Web-сайте jazz.net.
Технология Jazz предоставляет четырехуровневую инфраструктуру для управления и совершенствования разработки ПО при взаимодействии с внешними поставщиками, как показано на рисунке 3 и описано в следующих разделах.
Рисунок 3. Четырехуровневая модель платформы Jazz
IBM Rational Jazz обеспечивает базовые инфраструктурные принципы для взаимодействия с удаленными рабочими местами с использованием протоколов http/https, технологии Web 2.0 и сервисов совместной работы в режиме реального времени.
Как показано на рисунке 4, все взаимодействия между подрядчиком и субподрядчиками осуществляются по стандартным протоколам http/https.
Уровень 2. Поставляемые активы
Jazz реализует центральный репозиторий для упрощения обмена активами между подрядчиками и субподрядчиками. Тем самым обеспечиваются общий механизм взаимодействия, циклы подтверждения и анализа, автоматические уведомления и способ стандартизации поставляемых артефактов разработки ПО, как показано на рисунке 5.
Рисунок 5. Уровень 2, поставляемые активы Jazz
Уровень 3. Автоматизация разработки
Продукты IBM или других поставщиков, созданные на платформе Jazz или интегрированные с ней, помогают группам разработчиков автоматизировать процесс создания активов разработки ПО. Например, IBM® Rational® Requirements Composer поможет аналитикам в определении и управлении требованиями, IBM® Rational Team Concert™ поможет разработчикам в создании и развертывании активов исходного кода, IBM® Rational® Quality Manager поможет тестировщикам в создании артефактов тестирования в виде контрольных тестов и тестовых сценариев, а такие инструментальные средства, как BM® Rational® Software Architect и IBM® Rational® Developer for System Z®, помогут разработчикам повысить производительность и качество исходного кода. На рисунке 6 показаны различные компоненты, расширяющие функциональность Jazz и способствующие автоматизации процессов на протяжении всего цикла разработки программного обеспечения.
Рисунок 6. Уровень 3, автоматизация процессов
Уровень 4. Руководство и показатели
Технология Rational Jazz и продукты, созданные на базе этой платформы, автоматически предоставляют высокофункциональные информационные панели с отчетами и показателями, обновляемыми в режиме реального времени. Это помогает и подрядчикам, и субподрядчикам управлять состоянием и продвижением проектов разработки в режиме реального времени, как показано, например, на рисунке 7.
Рисунок 7. Уровень 4, руководство и показатели
С учетом этих уровней составлена приведенная ниже таблица, в которой дается подробный анализ того, как платформа Jazz может помочь компаниям смягчить проблемы субподряда и снизить скрытые затраты, описанные в предыдущих разделах. Проанализированы также дополнительные организационные и оперативные изменения, которые компании должны провести для успешного использования модели субподряда.
Заключение
Популярность разработки программного обеспечения на субподряде растет, но эта область еще не оформилась окончательно. Экономические преимущества, такие как уменьшение расходов на рабочую силу и более быстрая реакция на рыночные изменения, делают ее очень привлекательной.
Быстро развивающиеся разновидности субподряда, от размещения сторонних ресурсов на территории компании до сложных моделей поставки, обеспечивают компаниям стратегические преимущества. Но при этом возникают сложные проблемы взаимодействия и управления.
Без общих процессов и инфраструктуры разработки ПО использование субподряда вместо ожидаемой прибыли может легко принести убытки. В данной статье рассматривается использование технологической платформы IBM Jazz в качестве общей инфраструктуры для снижения рисков, возникающих при внедрении этой новой модели разработки ПО.
Следите за дальнейшими статьями по этим темам, в которых будет подробно рассматриваться использование и адаптация отдельных инструментальных средств, работающих на платформе Jazz, для улучшения работы с субподрядчиками:
- Настройка шаблона процесса в Rational Team Concert для управления процессом разработки ПО с внешними поставщиками сервисов.
- Применение Rational Quality Manager для управления фабрикой тестирования.
- Применение Rational Requirements Composer для определения и управления требованиями в модели субподряда.
- Использование оперативных и бизнес-показателей для мониторинга и оценки разработки ПО на субподряде.
Подрядчики-лидеры по количеству проектов
Солар (ранее Ростелеком-Солар) (46)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (15)
Форсайт (11)
Бипиум (Bpium) (10)
Axiom JDK (БеллСофт) ранее Bellsoft (10)
Другие (388)
Солар (ранее Ростелеком-Солар) (8)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (4)
Консом групп, Konsom Group (КонсОМ СКС) (2)
IFellow (АйФэлл) (2)
ЛАНИТ - Би Пи Эм (Lanit BPM) (2)
Другие (30)
Солар (ранее Ростелеком-Солар) (10)
Форсайт (3)
Banks Soft Systems, BSS (Бэнкс Софт Системс, БСС) (3)
КРИТ (KRIT) (2)
Cloud.ru (Облачные технологии) ранее SberCloud (2)
Другие (13)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
Солар (ранее Ростелеком-Солар) (2, 48)
Microsoft (41, 47)
Oracle (49, 26)
Hyperledger (Open Ledger Project) (1, 23)
IBM (33, 18)
Другие (590, 303)
Солар (ранее Ростелеком-Солар) (1, 8)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (1, 4)
Microsoft (4, 3)
Oracle (2, 3)
SAP SE (2, 2)
Другие (16, 19)
Солар (ранее Ростелеком-Солар) (1, 11)
Форсайт (1, 3)
Banks Soft Systems, BSS (Бэнкс Софт Системс, БСС) (1, 3)
Сбербанк (1, 2)
Cloud.ru (Облачные технологии) ранее SberCloud (1, 2)
Другие (9, 9)
Солар (ранее Ростелеком-Солар) (1, 6)
Unlimited Production (Анлимитед Продакшен, eXpress) (1, 6)
МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 4)
Мобильные ТелеСистемы (МТС) (1, 4)
SL Soft (СЛ Софт) (1, 3)
Другие (14, 24)
Мобильные ТелеСистемы (МТС) (2, 3)
Unlimited Production (Анлимитед Продакшен, eXpress) (1, 3)
Солар (ранее Ростелеком-Солар) (1, 3)
МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 2)
Т1 Консалтинг (Т1 Инновации) (1, 1)
Другие (11, 11)
Распределение систем по количеству проектов, не включая партнерские решения
Solar appScreener (ранее Solar inCode) - 48
Hyperledger Fabric - 23
Windows Azure - 20
FIS Platform - 15
Форсайт. Мобильная платформа (ранее HyperHive) - 12
Другие 323
Solar appScreener (ранее Solar inCode) - 8
FIS Platform - 4
Java - 2
Турбо X - 2
Парадокс: MES Builder - 2
Другие 22
Solar appScreener (ранее Solar inCode) - 11
Форсайт. Мобильная платформа (ранее HyperHive) - 3
BSS Digital2Go - 3
Cloud ML Space - 2
Avaya Breeze (Avaya Engagement Development Platform) - 1
Другие 8