Глобальная разработка и поставка ПО: Тенденции и проблемы. Часть 1Источник: developerworks Катрин Фрайер, Rational Solutions Architect, IBM Матс Готе, Rational Solutions Architect, IBM
Это первая статья серии, в которой исследуются различные аспекты концепции глобальной разработки и поставки (global development and delivery, GDD) применительно к разработке программного обеспечения. Концепция GDD заключается в координации деятельностей разработки в подразделениях с целью создания прикладных программ и управления распределенными репозиториями активов, которые используются при создании таких программ. "Распределение" (рассредоточение) - термин, который может применяться к одному или более аспектам разработки, включая специалистов, артефакты, платформы, а также права владения или принятия решений. В этой статье мы исследуем рыночные тенденции и мотивации, лежащие в их основе, преимущества внедрения глобализованной модели поставки и проблемы, связанные с внедрением этой модели. В завершение мы определим некоторые ключевые факторы достижения успеха при помощи глобальной организации. Наблюдения взяты из опыта общения и работы с нашими клиентами в пространстве GDD и из участия наших® представителей в разработке, маркетинге, внедрении, предоставлении сервисов и сбыте. Эта статья готовит почву для следующих статей о критических атрибутах технологических решений для поддержки глобально рассредоточенных коллективов и для рассказа о том, как продукты IBM Rational удовлетворяют такие потребности и вносят свой вклад в достижение успеха территориально рассредоточенными коллективами. Кроме того, мы предложим эталонную архитектуру, которую можно применить в территориально рассредоточенных организациях для формирования соответствующей технологической инфраструктуры и реализации, позволяющей создать такие коллективы. Рискуя показаться банальными, отметим, что глобализация быстро становится распространенной и значимой практикой во многих областях. Можно найти множество примеров в производственном, автомобильном, финансовом, торговом и других секторах. Высокоскоростные средства передачи данных, доступность поездок по всему миру, глобальные возможности и множество других технологических и социальных достижений позволили компаниям расширить свое присутствие и влияние во всем мире. Вряд ли кого-нибудь удивит тот факт, что компании, занимающиеся разработкой технологий и программного обеспечения, тоже были замечены в этом движении. Коллективы компаний-разработчиков программного обеспечения территориально становятся все более рассредоточенными, используя как внутренние взаимодействия в самой компании, так и внешние взаимосвязи с компаниями-партнерами, дочерними структурами и поставщиками услуг аутсорсинга. По мере того как компании в течение определенного времени занимались внедрением распределенной организации, их мотивация по отношению к такой организации, а также способ распределения работы, непрерывно эволюционировали. Даже за то короткое время, которое мы потратили на создание этой статьи, некоторые крупные компании внесли значительные изменения в свой механизм управления территориально рассредоточенными коллективами. В нашей статье исследуются тенденции, которые мы наблюдали в сфере глобализации в прошлом году. Мы еще поговорим о том, что переход на глобальную организацию работы предлагает множество преимуществ. Однако территориально рассредоточенные коллективы сталкиваются с бóльшим количеством проблем, чем коллективы, работающие под одной крышей. Мы расскажем о таких проблемах и дадим некоторые рекомендации по их разрешению. И в завершение мы приведем список факторов, которые считаем критическими для обеспечения успеха глобально распределенного проекта. Компании продолжают глобальную экспансию путем рассредоточения своих сотрудников по всему миру через различные средства, включая офшоринг, приобретение других компаний, партнерские отношения и аутсорсинг. По мере того как глобализация получает все большее распространение, многие компании развивают свои подходы и методы, что, вероятно, свидетельствует о зрелости распределенной модели. На рисунке 1 показаны некоторые изменения в глобальной логистической стратегии, которые мы подробно рассмотрим в этой статье. 1
Рисунок 1. Тенденции глобальной логистической стратегии От "В Индии это дешевле" к "Везде есть талантливые люди" Первоначально многие компании двигались в направлении глобального рынка, перенося все производство в одну из развивающихся стран, часто в Индию, а теперь и в Китай или в Восточную Европу. Основным фактором мотивации была экономия средств - решение о переносе производства мотивировалось более низкой стоимостью квалифицированного персонала по сравнению с Соединенными Штатами или Западной Европой. Все чаще корпорации создают центры разработки в нескольких странах мира. Хотя экономия средств остается определяющим фактором, и многие компании содержат малозатратные центры в странах Азии и Центральной Европы, в игру вступают и другие факторы мотивации:
Движение в направлении стратегического аутсорсинга Растущее количество поставщиков услуг аутсорсинга свидетельствует о том, что аутсорсинг в течение некоторого времени удерживает популярность. Первоначально компании часто практиковали тактический аутсорсинг проектов: при выборе поставщика ориентировались на то, что он может предложить на данный момент времени. Кроме того, для передачи сторонней организации компании могли выбрать либо проект, который сам по себе хорошо подходил для аутсорсинга, либо любой проект, на который могло не хватить ресурсов или финансирования. Теперь аутсорсинг стал более стратегическим: пилотные проекты превратились в инициативы на уровне корпорации, а узкоспециализированные работы - в управляемые процессы. Аутсорсинг в наши дни предоставляет возможность правильно подобрать специалистов адекватной квалификации для бизнес-процессов и задач независимо от того, где территориально или организационно, в самой компании или за ее пределами, будут находиться такие специалисты. Теперь компании тщательно изучают свои операции и выборочно осуществляют внутренние инвестиции в свои сильные стороны, а затем передают остальные сервисы на исполнение одному или нескольким долгосрочным партнерам и строят отношения с небольшим количеством ведущих производителей. Аутсорсинг уже не связан только с сопровождением готового программного продукта Аналогично изменились и виды заданий по разработке программного обеспечения, которые передаются сторонним партнерам. В разработке программного обеспечения одной из преобладающих практик аутсорсинга было сопровождение уже существующих приложений. Сейчас все большее значение приобретает тестирование приложений с последующим введением в приложения новых технологий или компонентов. Некоторые компании, относящие разработку приложений к сопроводительным услугам, передают аутсорсинговым компаниям все, за исключением разработки требований и тестирования при приемке. Влияние сервис-ориентированной архитектуры (service-oriented architecture, SOA) привело к выделению и распределенному использованию конкретных (технических, т.е. программного кода, или бизнес) сервисов. Среди других методов, выросших из разработки программного обеспечения, можно назвать аутсорсинг бизнес-процессов (business-process outsorcing, BPO). Пример: крупная фармацевтическая компания передает в аутсорсинг управление и администрирование лабораторных испытаний медикаментов. Управление инфраструктурой информационных технологий и консультационные услуги также все чаще передаются на исполнение партнерским компаниям. Прекрасным примером может служить индийская компания Tata Consulting Services (TCS), которая в последнем информационном обзоре InformationWeek указывает, что более 50% доходов компании в третьем квартале 2007 года принесли консультационные услуги, BPO и услуги по управлению инфраструктурой; впервые доход от разработки приложений составил меньше половины общего дохода2 . (Обратите внимание на то, что в той же статье TCS отмечает, что сама компания сейчас передает работу из Индии в другие страны, где борьба за талантливых сотрудников не является такой ожесточенной.) Если глобальная разработка и поставка первоначально была областью приложения сил нескольких первопроходцев, которые хотели прозондировать почву для приобретения новых возможностей или дешевой рабочей силы, то теперь можно с уверенностью сказать, что события приняли иной оборот, и GDD стал широко применяемым подходом. По некоторым оценкам, 80% проектов разработки программного обеспечения теперь являются глобальными. Принцип GDD стал стандартным способом организации работы для большинства компаний, имеющих отношение к программному обеспечению. Эволюция территориального рассредоточения организаций Структура организаций изменилась, чтобы соответствовать новым принципам поставки программных продуктов. Многие глобальные организации первоначально назначали владельцем продукта или проекта одно из локальных подразделений, возлагая на каждое такое подразделение или ветвь ответственность за поставку своего приложения или проекта, и эти подразделения работали независимо друг от друга. По мере того как компании расширяли свое присутствие в разных странах мира, многие подразделения становились "коллективом коллективов", участником глобальной цепочки поставок. Каждый коллектив может владеть модулем или компонентом, который он поставляет далее по цепочке для интеграции с компонентами из других подразделений или компаний, процесс достигает кульминации в готовом приложении или продукте. Коллективы могут принадлежать к одной или к разным организациям, подразделению или компании. Мы начинаем наблюдать полное, глобально-организационное рассредоточение, при котором несколько локальных подразделений совместно работают над одним компонентом, который необходимо сдать в цепочку поставки. Локальные подразделения могут быть очень крупными или, как результат мобильности рабочей силы, состоять из одного специалиста. Во многих случаях распределение в значительной степени связано со слияниями и приобретениями компаний. В таких отраслях, как связь, технология и финансовые услуги компании приобретают долю в рынке, технологии или выход на рынок благодаря приобретению других компаний, а не внутреннему развитию. Новые компоненты новых, присоединенных компаний должны затем интегрироваться в эффективную структуру и цепочку поставки. Когда компании только приступили к созданию нескольких головных офисов или ветвей по всему миру, типичным вариантом инфраструктуры была опорная сеть корпоративной репликации. Серверы разработки размещались в каждом локальном подразделении и подключались друг к другу в соответствии с регулярным графиком репликации, при котором локальный клиент получал доступ к локальной реплике обычно через локальную сеть (LAN). С появлением все большего количества локальных подразделений, которое нередко сопровождается уменьшением средней численности коллективов, расходы на аппаратное/программное обеспечение и администрирование реплик в каждом из них существенно возрастает. В то же время пропускная способность и надежность сетей возросли, а их стоимость снизилась. В связи с этим более приемлемой стала модель hub-and-spoke ("ступица и спицы"), при которой к небольшому количеству серверов репликации осуществляется доступ из множества региональных локальных подразделений через локальные или глобальные сети (LAN, WAN) или Интернет. Все чаще компании внедряют централизованные инфраструктуры для дополнительного снижения затрат и издержек на администрирование. Эта топология связана с использованием нескольких центральных серверов, к которым можно обратиться через WAN- или Web-клиенты; она может быть реализована собственными силами компании или предоставлена сторонней компанией в виде услуг хостинга (еще один пример аутсорсинга). Продолжающийся рост доступности широкополосных подключений по всему земному шару, в том числе распространение беспроводных сетей, также позволяет планировать использование вычислительной мощности по мере необходимости, по требованию. Еще одно развивающееся направление - инфраструктура "общинного стиля", построенная на модели доступа к открытому исходному коду, при которой сотрудники территориально рассредоточенного коллектива объединяются вокруг совместно используемого сервера при помощи WAN- или Web-клиентов. Поддерживающая инфраструктура управления конфигурацией в корпорации становится для цепочки поставки программного обеспечения своеобразным двигателем, постепенно передающим промежуточные результаты разработки ПО для интеграции в решение, тестирования и поставки. И, безусловно, при таком объеме слияний, приобретений и аутсорсинговых партнерских отношений неоднородные среды разработки, объединяющие различные платформы, инструменты, топологии сетей и комбинации коммерческих предложений и предложений с открытым исходным кодом, стали обычным явлением, новой нормой. Как уже говорилось ранее, сейчас компании переходят на GDD с намерением получить доход от множества потенциальных преимуществ, среди которых можно выделить следующие:
С учетом всех потенциальных преимуществ, необходимость использования территориально рассредоточенных коллективов по всему миру для всех компаний, занимающихся разработкой программного обеспечения, кажется бесспорной. Тем не менее (как видно из примечания к рисунку 2, на котором перечислены преимущества и проблемы GDD) согласно исследованию компании Gartner Group, половина респондентов, передающих проект поставщикам услуг аутсорсинга в своей стране или за рубежом, не рассчитывают получить ожидаемые финансовые выгоды 3 .
Рисунок 2. Преимущества и проблемы GDD |