October 2011 Download this article as a PDFAbstract

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

Введение

Традиционное представление разработки программного обеспечения является, что это происходит в рамках одной компании. В то время как части развития могут быть получены из за пределами компании, конечный продукт был указан и в полном объеме, является собственностью компании. Когда компания разрабатывает несколько продуктов в одном домене, он приносит пользу от организации своей деятельности разработки программного обеспечения в качестве линейки продуктов.

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

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

Это традиционное мнение оспаривается два недавних события: переход от линий программного продукта для программного обеспечения экосистем (Bosch, 2009) и переход от экосистемы программного обеспечения коллективов. Переход от линий продуктов экосистемы программного обеспечения имеет место, когда продукт лайн компания делает свои платформы для разработчиков за пределами компании. К ним относятся внутренние разработчики (как и линейки продуктов), стратегическими партнерами долгосрочные отношения, неориентированных внешних разработчиков и независимых поставщиков.

Переход от экосистемы программного обеспечения коллективов недавно создал много новых коллективов, даже несмотря на то, что они часто идут под разными названиями, включая «экосистемы». Примерами являются открытым исходным кодом проекта Eclipse и экосистемы закрытого источника Artop. Коллектив создан, когда группа организаций хочет достичь цели, к которой они не могут достичь самостоятельно. Коллектив может решать общие потребности своих членов, позволяя им сосредоточиться на отличительных особенностях своей продукции.

Часто отмечается, что где-то между 50% и 90% развития усилий тратится на создание программного обеспечения, которое не дифференцирует компанию от конкурентов (ван дер Линден, 2009; Milinkovich, 2008). Только остаток отличает компанию от конкурентов. Это замечание имеет мотивированных компаний приобретать non дифференцируя части своего программного стека в другом месте, например, как детские кроватки или открытыми исходными кодами. Когда такое программное обеспечение не доступен, или когда более высокой степени контроля над программным обеспечением для включения более эффективной настройки, организации объединили свои усилия для создания общей стек программного обеспечения в рамках совместных усилий, что делает результат доступны друг к другу, или даже кто-либо другой, кто хочет использовать его.

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

Коллективы

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

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

Как вклад в коллективные члены получают доступ к общей стоимости, созданной коллективом. Предыдущие исследования показали, что, до тех пор, пока общая стоимость полученных выше, чем стоимость взноса, членов выгоды от присоединения (Болдуин и Кларк, 2006). И наоборот существующие члены коллектива не заинтересованы в членах, которые не добавляют значение к коллективу. Таким образом коллективы часто навязывать условия членства, например, попросив членов выделить ресурсы.

Переход от одной компании к коллективной модели разработки программных продуктов приведены на рисунке 1. Переходы происходят по двум измерениям. Первый переход — от внутренней к внешней деятельности, как платформа доступна для внешних разработчиков. Второй переход является от иерархической сети типа управления. Locus создания и эволюции платформы перемещается от одной платформы владельца сети, которые в совокупности создает и является владельцем платформы.

Рисунок 1

Рисунок 1. Эволюция моделей разработки программных продуктов

 

Дело Исследование: Затмение

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

В этом разделе мы опишем, один из наших тематических исследований в деталях: проект Eclipse. Eclipse является открытым исходным кодом сообщества сосредоточены на создании платформы разработки открытого программного обеспечения (Смит и Milinkovich, 2007). Проект Eclipse был основан в 2001 году как спин из технологии, что IBM приобрела от объекта технологии International. Первоначально сообщество Eclipse был главным образом обусловлен IBM и других поставщиков программного обеспечения. В 2004 году, с созданием независимого некоммерческого управления орган – Eclipse Foundation – IBM отказалась от его контроль над проектом и позволил другим игрокам, в том числе конкурентов IBM, чтобы стать равноправными членами общества.

Eclipse Foundation отвечает за техническую инфраструктуру, координацию процесса развития, обработка прав интеллектуальной собственности и содействия Eclipse и ее более широкой экосистемы. Роль Фонда Eclipse административный; Он не задают направление проекта или разработки кода. Направление проекта устанавливает стратегические членов коллектива. Чтобы стать стратегическим участником, компания должна заплатить членский взнос и фиксации ресурсов на развитие платформы. Проект Eclipse организована как набор верхнего уровня проектов с подпроектами.

Eclipse имеет четко определенный процесс для участия членов, и руководство проекта осуществляется тремя советами. Требования Совета собирает, обзоры и отдает приоритет входящие требования. Градостроительного совета руководит выпуск поезд. Архитектура Совет определяет и развивается архитектуру платформы Eclipse. Индивидуальные проекты находятся под контролем комитетов управления проектом. Советы состоят из стратегических членов и представителей комитетов по управлению проектом.

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

Выводы

Из анализа рассмотренных в данном исследовании, как характеристики коллективов были выявлены три фактора: уровень вклада, число членов и разнообразие использования. Уровень взноса — объем работы, способствовали базы основных активов члена коллектива. Взносы не только код, но может включать требования, проекты, тестовые случаи и обратная связь. Число членов является размер коллектива. Разнообразие использования измеряет диапазон и разнообразие контекстов использования для платформы.

На рисунке 2 показана модель, которая связывает эти факторы экономические результаты, которые мы разработали в результате изучения тематических исследований. Традиционные модели затрат и выгод производственных линий только модели воздействия на стоимость, не другие преимущества, такие как время выхода на рынок или качества. Три экономических результатов, в этой модели являются время, качество и стоимость. Настало время или время выхода на рынок или издержки координации. Качество означает качество базы основных активов или качество продукта. Стоимость – стоимость для организации коллектива, стоимость создания базы основных активов, стоимость повторного использования активов или стоимость создания уникальный актив, не основаны на платформе.

Рисунок 2

Рисунок 2. Увязка факторов экономической отдачи. Стрелки между факторами и экономические результаты являются предложения, которые предполагают причинно-следственной связи между ними. Цифры на стрелку относятся к предложениям. Например уровень взносов влияет на время и стоимость.

 

Уровень взноса не распределяется равномерно между членами коллектива. Вместо этого, как исследования открытых проектов показывают небольшое число членов составляют большинство взносов (Crowston соавт., 2011). Некоторые члены могут быть в лучшем положении для создания конкретных основных активов, поскольку навыки, необходимые не как правило, доступны, или они могут иметь более настоятельной необходимости чем другие члены для конкретного актива в базы активов. Большинство Eclipse подпроекты получают их основной вход от одной компании. Эта компания имеет большее влияние на какие основные активы содержащиеся в платформе, чем компании, которые вносят меньше.

Предложение 1: Time to market decreases with the level of contribution as a result of better alignment between contributed assets and the contributor's needs.

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

Предложение 2: Координация Накладные расходы уменьшается с в уровень из вклад как a результат из в увеличение в доверие Это создает между в члены.

Через свой уровень взносов член может обеспечить основные активы в соответствии с их бизнес-целей. Члены, которые вносят наиболее конкретного актива могут рассчитывать на пользу при повторном использовании актива. Исследование разработки открытого исходного кода показало, что авторы получить частные выгоды от разработки общих ресурсов, которые не доступны для «свободного всадников», которые только используют активы (фон Хиппель и фон Крог, 2003). К ним относятся обучение, чувство собственности и контроля и обратной связи от других на код. Участники находятся в лучшем положении, чтобы адаптировать свой код к их индивидуальным потребностям, поскольку код, который они внесли для общего использования не может быть хорошо подходят с потребностями в чужой. Многие коммерческие продукты (например, продукт IBM WebSphere) построены на базе платформы Eclipse. Когда IBM выпустила первоначальную версию Eclipse, они имели значительное преимущество над другими в использовании платформы, несмотря на то, что код был открыт для всех.

Предложение 3: В стоимость Кому повторное использование активы в в ядро актив база и в стоимость Кому Разработка уникальный активы Оба уменьшение с в уровень из вклад.

Когда члены коллектива способствуют базы основных активов, они разрабатывают общую платформу. Целью общей платформы является обеспечить non дифференцируя функции для членов коллектива, таким образом, чтобы каждый член может сосредоточиться на его отличительных особенностей. Решение о том, следует ли включать вклад в общую платформу производится на основе насколько хорошо вклад в соответствие с целями других членов коллектива. Если вклад только в интересах одного члена, то он не будут включены в платформе. Например основы моделирования Eclipse обеспечивает моделирование и кода возможности, заемных средств такими инструментами, как Rational Rose. Инструменты на основе могут взаимодействовать, поскольку они разделяют общие представления.

Предложение 4: В время Кому рынок уменьшается с в номер из члены. Члены можно фокус на в развитие из значение-Добавлено особенности.

Каждый член добавлен к команде вводит координации накладные расходы, что время не потратил продуктивно на достижение задачи команды. Способность взаимодействовать друг с другом в конструктивных отношениях членов группы также ограничены. И наоборот меньшее число сотрудников позволяет чаще взаимодействовать друг с другом. Это создает более прочные связи между членами и повышает приверженность и идентификации с коллективом и его целей. Усилия по координации деятельности можно управлять путем ограничения доступа, стратегически выбор членов для специфических взаимодействий. В открытых проектах ограничение доступа к основным членам уменьшает объем координации, требуется, когда члены совместной работы над разделом проекта. Проект Eclipse организована в виде верхнего уровня проектов, каждый из которых имеет несколько подпроектов. Только подмножество членов проекта является активным в каких-либо конкретных подпроектов.

Предложение 5: Координация Накладные расходы увеличение с в номер из члены работа на в же раздел из в ядро актив база.

Высокий уровень качества базы основных активов привлекает новых членов коллектива. Продукция, построенный на вершине высокого качества базы также будет более высокого качества. Коллектив небольших компаний отдельных членов не располагают ресурсами для создания системы до уровня качества, предоставляемых платформой. От предложения 2 также очевидно, что коллектив должен получать достаточное количество первоначальных взносов для того, чтобы достичь приемлемого уровня качества, который будет привлекать больше новых членов. Изучение встроенных систем компаний, использующих Linux, показали, что эти компании были мотивированы, чтобы раскрыть свои изменения в Linux для получения технической поддержки от других компаний («Хенкель», 2006).

Предложение 6: В качество из в ядро актив база увеличение с в номер из члены ВОЗ обеспечить Обратная связь на в активы в в ядро актив база.

Коллективный подход к разработке базы основных активов является более эффективным, чем для каждого члена коллектива по разработке полного программного стека в изоляции. Вместо того чтобы создавать свои собственные версии сырьевых компонентов, члены могут сосредоточиться на разработке особенностей, отличающих их друг от друга. Усилия для сохранения программного стека как он развивается также значительно снижается. Изменения в технологии могут распространяться среди членов. Если существующие инвестиции в собственное программное обеспечение, которое стеки, переход на платформы, разработанной коллективом может быть дорогим в первый, но погасить в долгосрочной перспективе. Компании, которые строят на основы моделирования Eclipse дифференцировать себя через значение, которое они предлагают конечным пользователям.

Предложение 7: В стоимость из содействие Кому в ядро актив база уменьшается с в номер из члены ВОЗ обеспечить ресурсы.

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

Предложение 8: В качество из в ядро актив база увеличение с разнообразие из Использование. Каждый Новые функции контекст из Использование будет Далее твердеть в актив база.

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

Предложение 9: В стоимость из Создание в ядро актив база Первый уменьшается, затем увеличение с разнообразие из Использование. На низкая разнообразие из Использование, коллективные преимущества От a более широкие диапазон из перспективы. Когда разнообразие из Использование Это высокая, коллективные будет появляются меньше сплоченным.

Заключение

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

Несмотря на то, что мы использовали открытым исходным кодом коллективного Eclipse как наш пример в этой статье, мы также нашли одинаковые шаблоны с коллективами закрытым исходным кодом (то есть те, которые не разделяют результаты своей работы с не членами). Закрытый коллективы получают одинаковые типы выгод от сотрудничества как их собратья открытым исходным кодом. Формирование коллектива не является вопросом открытых или закрытых источников; Это вопрос о моделях развития.

Подтверждение

Версия этой статьи была представлена на международном практикуме по количественным методам в области программных продуктов линии техники (QMSPLE 2011).

Доля этой статьи:

Цитируете эту статью:

Оцените содержание: 
Нет голосов были поданы еще. Скажи свое слово!

Ключевые слова: коллективы, eclipse, экосистема, линейки продуктов, Разработка программного обеспечения

Добавить новый комментарий

Обычный текст

  • Теги HTML не разрешены.
  • Адреса электронной почты и адреса страниц включите в ссылки автоматически.
  • Строки и параграфы переносятся автоматически.