Методы и модели оценки процесса разработки программных продуктов на виртуальном предприятии тема диссертации по экономике, полный текст автореферата
- Ученая степень
- кандидата экономических наук
- Автор
- Судаков, Сергей Сергеевич
- Место защиты
- Санкт-Петербург
- Год
- 2007
- Шифр ВАК РФ
- 08.00.13
Автореферат диссертации по теме "Методы и модели оценки процесса разработки программных продуктов на виртуальном предприятии"
На правах рукописи
СУДАКОВ СЕРГЕЙ СЕРГЕЕВИЧ
МЕТОДЫ И МОДЕЛИ ОЦЕНКИ ПРОЦЕССА РАЗРАБОТКИ ПРОГРАММНЫХ ПРОДУКТОВ НА ВИРТУАЛЬНОМ ПРЕДПРИЯТИИ
Специальность 08 00 13 Математические и инструментальные методы экономики
АВТОРЕФЕРАТ
диссертации на соискание ученой степени кандидата экономических наук
Санкт-Петербург 2007
003160694
Работа выполнена на кафедре информационных систем в экономике ГОУ ВПО «Санкт-Петербургский государственный инженерно-экономический университет»
Научный руководитель кандидат экономических наук, профессор
Бугорский Владимир Николаевич
Официальные оппоненты доктор экономических наук, профессор
Власов Марк Павлович
кандидат экономических наук Никитин Никита Александрович
Ведущая организация ГОУ ВПО «Санкт-Петербургский государственный
университет информационных технологий, механики и оптики»
Защита состоится «25» октября 2007 г в 13 часов на заседании совета Д 212 219 05 при ГОУ ВПО «Санкт-Петербургский государственный инженерно-экономический университет» по адресу 191002, Санкт-Петербург, ул Марата д 27, ауд 324
С диссертацией можно ознакомиться в библиотеке ГОУ ВПО «Санкт-Петербургский государственный инженерно-экономический университет» по адресу 196084, Санкт-Петербург, Московский пр , 103-а
Автореферат разослан «25» сентября 2007 года
Ученый секретарь совета Д212 219 05 кандидат экономических наук, профессор
М Корабельников
ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ Актуальность исследования
В последние годы Интернет получил широкое распространение как среда взаимодействия Он служит для объединения в единое информационное пространство, как отдельных пользователей сети, так и целых организаций Благодаря Интернет-взаимодействиям возникают новые институты и организационные формы Практически все сферы жизни обретают свои аналоги в сети Обычное общение трансформируется в Интернет-общение, обучение становится дистанционным, коммерция преобразовывается в электронную коммерцию, обычные предприятия начинают обретать признаки виртуальности В целом можно считать, что на смену постиндустриальному обществу приходит общество сетевое или даже виртуальное
В ближайшем будущем ни одно изделие или услуга не смогут быть проданы на мировом рынке без электронного паспорта В век глобализации предприятиям часто приходится действовать в условиях географической распределенности подразделений, партнеров и клиентов Время выполнения заказа выходит на первый план среди остальных характеристик производства товаров или оказания услуг В связи с этим, появляется новый тип организации - виртуальное предприятие, жизненный цикл которого отличается от традиционного предприятия В большинстве случаев он практически совпадает с жизненным циклом продукции виртуального предприятия и существенно меньше жизненного цикла традиционного предприятия Принципы функционирования виртуального предприятия, отсутствие географической привязки к ресурсам и рабочим площадям позволяют легко изменять его структуру соответственно новым требованиям Это очень важный момент, так как в современном обществе постоянно изменяющихся технологий для успешной деятельности необходимо всегда быть в курсе событий и оперативно реагировать на нововведения с минимальными затратами
Однако, несмотря на то, что мировая практика создания и функционирования виртуальных предприятий достаточно велика уже сейчас, теоретические исследования и выкладки несколько отстают В этом легко убедиться, обратив внимание, хотя бы на то, как определяют понятие «виртуальное предприятие» различные ученые Существуют десятки различных определений, но единого, общего научного мнения на этот счет до сих пор нет Однако это понятие используют повсеместно и не всегда обоснованно
Повсеместно предпринимаются попытки абсолютизировать полезность и универсальность виртуальных предприятий, хотя для многих видов производств и конкретных предприятий виртуальная форма просто невозможна, для других же влечет снижение эффективности Цели и задачи исследования
Целью диссертационного исследования является разработка методов и моделей оценки процесса разработки программных продуктов на виртуальных предприятиях, обоснование эффективности их использования и возможности
применения на практике В соответствии с данной целью в диссертации поставлены следующие основные задачи
• Выявление основных принципов сетевой экономики и основных тенденций развития виртуальных предприятий, возникающих в условиях данного типа экономики
• Уточнение и классификация виртуальных компонентов предприятий
• Выявление основных особенностей жизненного цикла программных продуктов и определение мотивации его моделирования
• Адаптация модели быстрой разработки программных продуктов для виртуальных предприятий и разработка математических моделей оценки процесса разработки программных продуктов и оптимального распределения работ между участниками виртуального предприятия
• Разработка методических материалов по использованию разработанных моделей при разработке программных продуктов
• Разработка программного инструментария для практического применения разработанных моделей.
Предметом исследования является процесс разработки программных продуктов на виртуальных предприятиях.
В качестве объекта исследования рассматривалось виртуальное предприятие, функционирующее в сфере информационных технологий и создания программного обеспечения
Теоретической и методологической основой исследования послужили основные положения современной экономической теории, теории автоматизированного управления, методологии программирования, моделирования и управления проектами, изложенные в работах отечественных и зарубежных ученых Также были рассмотрены многочисленные Интернет-издания в области информационных технологий, виртуальных предприятий и сетевой экономики в целом. Для анализа использовалась деятельность крупных компаний, таких как «Amazon corn», «CarsDirect сот», «Greyhound», «Е-generator ru», «VeriFone», «Barney & Noble», «Motorola», «Apple» и некоторых других
Научная новизна диссертационного исследования
• выработана новая классификация виртуальных компонентов предприятий, действующих в рамках сетевой экономики,
• разработаны новые подходы к решению проблем оценки процесса разработки программных продуктов на виртуальных предприятиях, заключающиеся в определении способов оптимального распределения работ между подразделениями и максимального удовлетворения потребностей заказчика,
• описаны основные положения актуальности использования методологии экстремального программирования для разработки программных продуктов на виртуальных предприятиях,
• предложена экономико-математическая модель поиска вариантов распределения работ (историй) и методика определения их оптимального распределения при разработке очередной версии продукта
• разработана модель распределения задач между подразделениями виртуального предприятия и предложена методика определения наиболее выгодных вариантов с точки зрения затрат на производство программного продукта,
• в целях применения на практике разработанных моделей для оценки процесса разработки программного продукта был разработан необходимый программный инструментарий
Оценивая научную новизну работы, важно отметить нюансы, касающиеся специфики объекта исследования Существующие модели лишь косвенно отражают особенности производства, осуществляемого на виртуальном предприятии Разработанные модели учитывать специфику виртуальных предприятий, которая отражается на большинстве процессов жизненного цикла программного продукта По результатам работы были даны рекомендации по эффективному использованию элементов виртуализации при разработке программных продуктов, а также учтены отрицательные моменты, которые могут возникнуть при их использовании.
Практическая значимость предоставленной работы заключается в следующем
• анализ различных методологий разработки программных продуктов предоставляет возможность осуществить правильный выбор методологии для конкретных проектов в зависимости от их специфики, размеров и количества сотрудников, работающих над ним,
• результаты проведенных исследований в области функционирования виртуальных предприятий могут быть использованы при организации распределенного производства,
• разработанные модели позволят оценить процесс разработки программных продуктов, производимых на виртуальных предприятиях, с точки зрения временных и денежных затрат на производство
Апробация и внедрение результатов исследования
Основные положения диссертации обсуждены и одобрены на научно-практических конференциях и семинарах ГОУ ВПО «Санкт-Петербургский государственный инженерно-экономический университет», а также в рамках научно-практических конференций «Современные проблемы прикладной информатики»
В ходе исследования был разработан программный инструментарий на основе предложенных моделей, который был успешно внедрен на ООО «Бинартс», производящем программные продукта по принципу виртуального предприятия
Результаты диссертационного исследования были использованы в учебном процессе в дисциплинах «Сетевая экономика» и «Информационный менеджмент» при подготовке специалистов по специальности 351400 (080801) - Прикладная информатика в экономике в ГОУ ВПО «Санкт-Петербургский государственный инженерно-экономический университет» Публикации
Основные положения диссертационного исследования отражены в шести опубликованных научных работах общим объемом 2,2 п л Структура диссертации
Диссертационная работа состоит из введения, трех глав, заключения и списка литературы
Во введении обосновывается актуальность темы исследования, сформулированы цели и задачи исследования, определены объект и предмет исследования, обоснована научная новизна и практическая значимость работы
В первой главе проведен анализ предметной области, уточнены основные понятия, предложены соответствующие классификации и схематические представления объекта исследования Выявлен рад проблем экономического и управленческого характера, возникающих в процессе функционирования виртуального предприятия Приведены особенности жизненного цикла программных продуктов виртуальных предприятий Описаны основные положения стандарта 12207 (Процессы жизненного цикла программного обеспечения) Произведен анализ моделей жизненного цикла программных продуктов, а также инструментальных средств, используемых для поддержки жизненного цикла программных продуктов
Во второй главе диссертации описаны основные подходы к выбору методологии для конкретных проектов, обосновывается выбор методологии для виртуального предприятия Приводятся основные практики методики экстремального программирования и предлагаются перечень необходимых мер для адаптации данной методики к использованию в рамках функционирования виртуального предприятия На основе адаптированной концептуальной модели строятся математические модели для оценки жизненного цикла разработки программных продуктов с точки зрения времени разработки и затрат
В третьей главе приводятся методические рекомендации по практической реализации системы моделей, поддерживающей комплекс задач, реализованных в рамках управления жизненным циклом программного продукта виртуального предприятия Исследуется практика применения системы моделей, посредством разработки программного инструментария, для их реализации, и его использованием при выполнении заказа на разработку программного продукта
В заключении подводятся итоги диссертационного исследования, сформулированы основные выводы по результатам работы Даны рекомендации для дальнейших исследований в области разработки программных продуктов и принципов функционировании виртуальных предприятий
ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ
В ходе развития производительных сил постоянно происходят глубокие изменения в трех внешних сферах, влияющих на функционирование любого предприятия политической, главным элементом которой выступает государство, социальной (общественные организации и общественное мнение) и экономической, где предприятие вступает в целый комплекс различных отношений с поставщиками и потребителями, конкурирует на рынке труда и товарном рынке К концу 1990-х всеобщая глобализация вкупе с появлением Интернет-технологий, позволяющих выстраивать деловые отношения в среде Интернет, способствовали возникновению нового образа экономики, которая может быть названа «сетевой» В России сетевая экономика начала свое развитие позже, чем на западе, но сейчас, она проникает во все сферы деятельности и не исключено, что вскоре вся экономика станет сетевой
Появление нового типа экономики закономерно привело и к появлению новых организационных форм Одной из таких форм явилось виртуальное предприятие, характеризующееся распределенным характером функционирования в рамках единого информационного пространства, а также гибкой структурой Многие предприятия, даже не являясь виртуальными, начинают использовать виртуальные компоненты Совершенно ясно, что поиск нового баланса между виртуальными и не виртуальными (реальными) компонентами - задача управления, которую ставит наступившее тысячелетие
Виртуальность компонентов предприятия можно определять по нескольким характеристикам
• по признаку материальности,
• по характеру управления,
• по характеру взаимодействия.
Не все компоненты могут иметь материальное воплощение. Однако большинство компонентов могут быть как виртуальными, так и не виртуальными Именно выбор между реальностью и виртуальностью таких компонентов и является основой задачей проектирования виртуальной организации Виртуальные организации способны предложить большие свободы и возможности творчества Но необходим грамотный менеджмент, без которого все преимущества превратятся в факторы, замедляющие развитие организации
В данном исследовании рассматривается производство программных продуктов, которые являются разновидностью информационных продуктов Нематериальность информации позволяет выделить основные отличительные особенности информационных товаров
• Тиражирование информационных продуктов, как правило, достаточно простое, стремящееся к минимальной стоимости
• Использование сетевых информационных технологий обеспечивает быструю и дешевую передачу информационных продуктов на любые расстояния
• Любая информация, так или иначе, теряет свою актуальность, что ведет к моральному устареванию информационного продукта Этот факт подтверждает принцип устойчивого неравновесия и обратного ценообразования сетевой экономики
Разработка программного обеспечения в большинстве случаев должна рассматриваться как коллективный труд специалистов, направленный на удовлетворение потребности пользователей в автоматизации их деятельности
При разработке программного обеспечения можно выделить три направления деятельности
• производство программ не для продажи,
• производство рыночного продукта, обеспечивающего прибыль за счет распространения,
• разработка ведется под заказ, когда все производство программы, от стадии замысла до передачи в эксплуатацию, финансируется заказчиком
Направления существенно различаются и по уровню ответственности разработки, и по требованиям к качеству продукции, и по другим параметрам, которые необходимо отслеживать Но в производстве программ можно найти много общего, а поэтому полезно считать заказными любые разработки программ Требования не всегда окончательно формируются с самого начала, довольно часто они поступают при развитии проекта и даже уже при использовании полученной программной системы Поэтому важно учитывать, что работа над программным продуктом, как правило, ведется в условиях большой неопределенности относительно конечного результата Этот факт является определяющим при выборе именно виртуального типа предприятия для производства программных продуктов Виртуальное предприятие как нельзя лучше приспособлено к работе в условиях неопределенности, вследствие возможности гибкой реструктуризации
Для оценки жизненного цикла программной продукции виртуального предприятия была выбрана методология экстремального программирования (ХР) на основании схожести принципов, изложенных в методологии с принципами функционирования виртуального предприятия Среди этих принципов следующие-
• Максимальное участие заказчика в процессе разработки.
• Распределение выгод между участниками
• Распределенная работа
• Работа в условиях повышенных рисков
• Гибкость и возможность оперативного реагирования на изменяющиеся условия
Создание универсальной модели жизненного цикла ПО нецелесообразно, так как жизненный цикл напрямую зависит от выбранной методологии и диктуется ею Для каждого конкретного проекта (или типа проектов) необходимо определиться с методологией и сформулировать ее преимущества, ограничения по ее использованию, а также определиться потенциальной эффективностью ее использования.
Как уже упоминалось выше, в рамках данного диссертационного исследования была выбрана методология ХР, на основе которой были сформулированы основные рекомендации по использованию данной методологии на виртуальном предприятии, которые получили название экстремального программирования для виртуального предприятия (VXP) В ХР жизненный цикл продукции состоит из этапов, каждый из которых заканчивается выпуском очередной версии разрабатываемого программного продукта, то есть такого состояния, при котором он имеет вид законченного функционирующего продукта с ограниченным набором функций Оставшаяся функциональность реализуется в следующих версиях продукта Важно отметить, что любая версия продукта может быть внедрена заказчику. При этом параллельно с процессом внедрения и дальнейшей эксплуатации происходит работа над следующей версией Такой цикл повторяется до тех пор, пока очередная версия полностью не реализует требующуюся заказчику функциональность
Данная методология регламентирует два вида планирования разработки программного продукта планирование совокупности работ по контрольным точкам для клиента и итерационное планирование распределения работ для разработчика
Планирование для клиента
На этапе исследования, перед началом работы над первой версией, заказчик пишет истории (stones) - требования, которые необходимы в системе, Эти истории имеют описательный характер и носят неформализованный характер, в отличии от требований в обычном их понимании По большому счету, истории - это требования, которые описаны клиентом «своими словами» В методологии ХР такой подход считается более приемлемым, по сравнению с написанием технического задания Этому есть две причины Во-первых, написание ТЗ занимает некоторое время, и, соответственно, увеличивает стоимость проекта, что не выгодно для заказчика Во-вторых, редко когда удается описать в ТЗ все необходимые требования, как правило, в ходе проекта выясняется, что заказчик не предусмотрел некоторые требования Однако, обычно, разработчик придерживается утвержденного ТЗ и любые изменения переносятся на конец проекта, как доработки Это не выгодно для заказчика, так как дополнительные требования могут быть критичными для него
Поэтому, в ХР заказчик может добавить дополнительные истории в любой момент разработки При этом весь набор историй переформировывается соответственно, и приоритет выполнения может быть смещен в сторону новой истории
Разработчик оценивает истории по времени. Если имеется некоторая неопределенность в интерпретации истории, он согласовывает историю с заказчиком, который либо уточняет историю, либо разделяет ее на две и более
На этапе подтверждения заказчик должен разделить все истории на три категории в соответствии с субъективной полезностью
• те, без которых разрабатываемый продукт не сможет функционировать,
• менее полезные истории,
• истории, которые желательно реализовать, но возможно и отказаться от
них
Таким образом, для каждой истории по трехбалльной шкале определяется полезность Разработчик делит истории на три категории в соответствии с риском
• истории, время на выполнение которых можно оценить с наибольшей точностью,
• истории, время на выполнение которых можно оценить с приемлемой точностью,
• истории, время на выполнение которых оценить достаточно сложно на текущий момент
Для планирования работ над очередной версией продукта заказчик имеет два варианта действий
Вариант 1
Заказчик выбирает из всех историй необходимое количество
(1)
Разработчик устанавливает окончательную дату их выполнения суммируя предполагаемое время разработки каждой истории.
Г=£ Г,, (2)
7-1
где
N - количество выбранных историй
Также разработчик может установить стоимость выполнения всех историй, посчитав суммарные затраты на выполнение всех задач, на которые разбиваются истории Затраты на выполнение некоторой задачи можно рассчитать как
Za=T!t w + a Т^, (3)
где
Тм - время выполнения задачи,
w - заработная плата программиста, реализовывающего задачу,
а - стоимость машиночаса,
Тйт - машинное время для выполнения задачи
Z. = £z,,. (4)
где
К - количество задач истории
Важно отметить, что на практике затраты на реализацию истории рассчитываются в большей степени исходя из предыдущего опыта разработок, и определяются произведением предполагаемого времени реализации истории на среднюю заработную плату программиста, что будет видно во втором варианте планирования Стоимость для клиента будет рассчитываться следующим образом-
J-1
где
Cadd - добавленная стоимость,
Tax - налоги
и
Алгоритм расчета стоимости выбранных историй представлен на рис 1
(змпг - «йог ♦одмщчм'рщ ^
свю——
...._»(яшптаа! - (вщпг ♦ аД||) * (1 ♦ ЯРЯ)
N - кол-во историй р - вектор
распределения историй витг - затраты
время выполнения й - сложность
зиттаа! - стоимость
Рис 1 Алгоритм расчета стоимости выбранных историй
Вариант 2
Заказчик назначает желаемую дату выхода очередной версии
(6)
Разработчик вычисляет под эту дату бюджет и предлагает заказчику выбрать некоторое количество историй для реализации, ограничивая его выбор суммарными стоимостью и временем выполнения историй
При этом заказчику предлагается выбрать такой набор историй, чтобы, суммарная стоимость их реализации была меньше рассчитанного бюджета
^ (7)
|С<С/
Построим модель для определения оптимального выбора набора историй заказчиком, при максимизации полезности для него и минимизации стоимости работ
Пусть заказчик написал п историй и определил полезность каждой истории по трехбалльной шкале
А = {а„
А)
(9)
Разработчик определяет время на выполнение каждой истории (учитывая количество функциональных единиц) и сложность реализации
Л}. (Ю)
В-ЙЛ Л), (11)
Время на выполнение всех историй реализующихся в данной версии будем считать следующим образом
(12)
где 1 принимает значения порядковых номеров истории, реализующихся в данной версии
Затраты на выполнение 1-ой истории будем рассчитывать по формуле
='. (13)
где
wCp - средняя заработная плата программиста Определим вектор Р = {р„ рг, , р„}, такой, что
[1, если история выбрана 1 „.
^<Чп й Ь (14>
[О, если история не выбрана] Тогда задача оптимального выбора историй для реализации в версии из всего набора историй сводится к поиску вектора Р, для которого
Т <Т
X«, р, -> тах,
I»! п
ХС. Р. ->ШШ
(15)
Так как налоги и добавленная стоимость в формуле определения стоимости величины постоянные, то последнее условие системы можно преобразовать к следующему
я
Хг< А-*111111! (16)
1=1
Тогда
т„ < т„.
Ха, Р, шах —>
1=5
X2. Р, ~>пип
Г„ < Гш>
Х<г, р, -> тах 1.1 л
Хг. Л 111111
(17)
В случае, когда определяющим фактором для заказчика является не время, а стоимость выполнения историй в рамках версии, задача сводится к поиску вектора Р, дня которого
г <х
у — шах
я
• Ха< р, -»шах , (18)
л
Л«, И/, д-*тт
Алгоритм поиска всех возможных вариантов распределения историй для реализации в версии разрабатываемого продукта представлен на рис 2
На этапе управления разработчик разделяет процесс выполнения версий на подпроцессы - итерации Как правило, итерация должна укладываться во временной цикл одной-трех недель
Начиная планировать итерацию, разработчики вновь просят заказчика выбрать наиболее ценные истории, на этот раз из числа оставшихся для реализации в этой версии
Если заказчик в ходе работы над версией внести обнаружил необходимость внесения дополнительной истории, он описывает эту историю, разработчик оценивает ее и на основе этих оценок определяется набор работ с эквивалентной суммарной оценкой, которые можно исключить из оставшегося плана
Итерационное планирование разработчика
В рамках данного планирования рассматривается единственная очередная итерация
На этапе исследования вместо историй выступают задачи Истории, выбранные для выполнения в течение данной итерации, делятся на задачи, которые можно реализовать в течении нескольких дней Некоторые задачи могут не относится к истории, другие могут охватывать сразу несколько историй.
На этапе подтверждения каждый программист принимает на себя ответственность за решение одной или нескольких задач При этом каждая задача оценивается им по времени При оценке фактор парного программирования не учитывается (хотя обязательно присутствует при программировании) Этот фактор, а также время общения с клиентом и коллегами учитывается при помощи общего фактора нагрузки
В ХР существует понятие идеального времени программирования Это время, которое программист затрачивает на выполнение своих задач в течение итерации, без учета помощи коллегам при парном программировании
Тид ~ Тобщ ~ Ттр , (19)
Каждый программист выбирает свой фактор нагрузки для итерации Фактор нагрузки (Р) работника определяется отношением идеальных программных дней к общему числу календарных дней
Е = (20)
общ
Для новых членов команды этот фактор должен быть не более 0.2 (то есть в основном, время тратится на обучение и работе в паре), для других не более 0 5 (если это значение больше, значит, программист слишком мало уделяет вниманию помощи своим коллегам)
Рис 2 Алгоритм поиска всех вариантов распределения историй и их характеристик
Далее необходимо провести балансировку Для этого каждый программист складывает временные оценки для своих задач и умножает на фактор нагрузки
(21)
где
к - номер программиста
При этом программисты, которые оказываются перегруженными, отказываются от части своих задач Если перегружена вся команда -необходимо провести регенерацию (см далее)
Рассмотрим данный этап на виртуальном предприятии Функционирование виртуального предприятия имеет распределенный характер В нашем случае это касается как разработчика, так и клиента Общение клиента и разработчика может происходить удаленно посредствам единого информационного пространства, создаваемого на виртуальном предприятии, по электронной почте, по телефону или через механизм видеоконференцсвязи
Распределенность разработчика заключается в географической удаленности его подразделений Пусть компания, производящая программную продукцию на заказ имеет к подразделений в разных городах Причем заработная плата программистов для каждого подразделения различна. Рассмотрим итерацию рассчитанную на Т дней Пусть в ходе данной итерации нам необходимо реализовать некоторое количество историй, которые разделены на п задач, тогда
2>,<Г, ' (22)
м
Нам необходимо распределить задачи между подразделениями таким образом, чтобы затраты были минимальными Затраты на 1-ю задачу реализованную в л-том подразделении можно вычислить как
*.=', (23)
где
- средняя заработная плата программиста в л-том подразделении, в котором данная задача выполняется
Определим для каждого подразделения вектор Р = {р,,р2, ,р„}, такой, что
¡1, если задача выполняется в подразделении 1 тл\
{о, если задача не выполняется в подразделении/'
Тогда затраты на выполнение всех задач в подразделении равны
г/=2>- Л. (25)
1=1
где
к - количество всех задач
Задача поиска оптимального распределения при наличии с! подразделений сводится к следующей модели:
1=1
d к
ZI/. WJ Pß ->шт> (26)
j=i i=I
t -»min
где
t' - наибольшее время, выраженное в календарных днях, потраченное в одном из подразделений на выполнение выделенных для него задач
При функционировании виртуального предприятия f является одним из наиболее значимых показателей Для клиента не имеет значение, какое количество часов было потрачено на разработку продукта Важнее для него какое количество календарных дней потрачено на разработку Для традиционного предприятия это время пропорционально количеству часов потраченных на разработку Процесс выполнения задач на таком предприятии представлен на рисунке 3
Для виртуального предприятия можно организовать работу в режиме семи дней в неделю по двадцать четыре часа в сутки Это становится возможным при значительном распределении подразделений предприятия, при котором разница во времени велика Тогда после того, как одно подразделение заканчивает рабочий день, другое только начинает его, при этом имеет возможность воспользоваться результатами работы первого подразделения Это важно в случае, когда выполнение некоторых задач зависит от законченности других Данный процесс выполнения задач представлен на рисунке 4
Таким образом, в идеальном варианте время t" для виртуального предприятия будет в три раза меньше чем для традиционного предприятия с восьмичасовым рабочим днем Однако, не всегда возможно распределить задачи равномерно между подразделениями, поэтому некоторые подразделения смогут выполнить все отведенные на итерацию задачи позже остальных Количеством дней, затраченным этим самым «запаздывающим» подразделением и является t"
Алгоритм поиска всех возможных вариантов распределения работ при реализации очередной версии продукта по подразделениям аналогичен алгоритму поиска вариантов распределения историй на этапе подтверждения при планировании совокупности работ для клиента Однако в данном случае происходит распределение всех задач, на которые разбиваются истории, выбранные клиентом для реализации в текущей версии продукта При расчете необходимо учитывать специализацию каждого подразделения и типов работ, отводимых для реализации в данных подразделениях В случаях, когда некоторая работа выполняется в подразделении, не специализирующемся на данном типе работ, сложность ее выполнения увеличивается, что должно учитываться коэффициентом сложности к Таким образом можно определить данный коэффициент следующим образом
10 5, работа общего типа 1
1, подразделение специализируется на данном типе работ >, (27) 1 5, подразделение не специализируется на данном типе работ) Значения данного коэффициента получены экспертным методом при рассмотрении нескольких реализованных проектов разработки программных продуктов
На этапе управления программист для каждой задачи находит партнера, совместно с которым реализует ее После полного срабатывания всех тестов результаты работы интегрируются в общую систему, и, если универсальный
набор тестов для системы срабатывает, то данный код становится доступным для всех программистов
(Распределил» задачи по подразделениям
Подразделение 2
Подразделение 3
( Начать рабочий день ) ^ Выполкть часть задач ^
Добавить программный код в обвдот базу
Г Окончить рабочий день V
•'все задачи \
(Я -е
( Начать рабочий день )
А
( Выполнить часть задач )
4
Добавить программный код в общую базу
1
( Окончить рабочий день )
все задачи да -^С подразделения выполнены
( Начать рабочий день ) [ Выполнить часть задач
Добавить программный код в общую базу
I
\ Окончить рабочий день ^
-гй-
Рис 4 Процесс выполнения задач на виртуальном предприятии
' Для практической реализации описанных моделей нами были разработаны программные средства позволяющие рассчитать возможные распределения
работ для очередной версии реализуемого программного продукта, а также распределения для работ над очередной версией продукта по подразделениям виртуального предприятия
ОСНОВНЫЕ РЕЗУЛЬТАТЫ И ВЫВОДЫ
1 Приведена мотивация моделирования жизненного цикла программного продукта при разработке в рамках виртуального предприятия
2 Обобщены и классифицированы виртуальные компоненты предприятий, функционирующих в рамках сетевой экономики
3 Приведена классификация моделей жизненного цикла разработки программных продуктов
4 Обоснован выбор методологии экстремального программирования для разработки программных продуктов на виртуальных предприятиях
5 Предложена экономико-математическая модель поиска вариантов распределения работ (историй) и методика определения их оптимального распределения при разработке очередной версии продукта
6 Разработана модель распределения задач между подразделениями виртуального предприятия и предложена методика определения наиболее выгодных вариантов с точки зрения затрат на производство программного продукта
ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИОННОЙ РАБОТЫ
Статьи, опубликованные в рекомендованных ВАК изданиях
1 Судаков С С Методологические подходы к разработке моделей жизненного цикла программного продукта // Вестник ИНЖЭКОНа Сер Экономика 2007 Вып 4(17) -0,5п л
Статьи, опубликованные в прочих научных изданиях
2 Судаков С С Особенности жизненного цикла виртуального предприятия // Современные проблемы прикладной информатики I научно-практическая конференция 23-25 мая 2005 г - СПб СПбГИЭУ, 2005 - 0,2 п л
3 Бугорский В Н, Судаков С С Анализ инструментальных средств обеспечивающих функционирование виртуальных предприятий // Современные проблемы прикладной информатики II научно-практическая конференция 2325 мая 2006 г -СПб. СПбГИЭУ, 2006 - 0,4 п л / 0,3 п л
4 Бугорский В Н, Судаков С С Технологии поддержки виртуальных предприятий сетевой экономики // Прикладная информатика Москва, 2006 Вып 3 - 0,7 п л / 0,4 п л
5 Судаков С С Виртуализация предприятий // Современные проблемы экономики, социологии и права Сб науч ст асп СПбГИЭУ Вып 2 - СПб СПбГИЭУ, 2007 - 0,2 п л
6 Судаков С С Виртуальные компоненты организаций // Современные проблемы прикладной информатики III научно-практическая конференция 2325 мая 2007 г - СПб Изд-во Политех ун-та, 2007 - 0,2 п л
Подписано в печать о&зоо? Формат 60x84 Vie Печ л <<0 Тираж soo экз Заказ г2С>4
ИзПК СПбГИЭУ 191002, Санкт-Петербург, ул Марата, 31
Диссертация: содержание автор диссертационного исследования: кандидата экономических наук, Судаков, Сергей Сергеевич
ВВЕДЕНИЕ.
ГЛАВА 1. ОСНОВНЫЕ ТЕНДЕНЦИИ РАЗВИТИЯ ЭКОНОМИКИ В УСЛОВИЯХ ГЛОБАЛЬНОЙ ИНФОРМАТИЗАЦИИ ОБЩЕСТВА.
1.1. Развитие и основные принципы сетевой экономики.
1. 2. Виртуальное предприятие в сетевой экономике.
1.2. 1. Определение понятия «виртуальный».
1. 2. 2. Понятие виртуального предприятия (организации).
1. 2. 3. Виртуальные компоненты предприятий.
1.2.4. Исследовательская модель виртуального предприятия.
1.3. Особенности жизненного цикла программных продуктов.
1.3. 1. Понятие и основные характеристики информационного продукта.
1.3.2. Особенности производства программных продуктов.
1.3.3. Понятие жизненного цикла программного обеспечения.
1. 3. 4. Стандарт 12207: Процессы жизненного цикла программных средств
1.3.5. Мотивация моделирования жизненного цикла.
1. 4. Анализ моделей жизненного цикла программных продуктов.
1.4. 1. Классификация моделей жизненного цикла программных продуктов.
1. 4. 2. Каскадная модель.
1. 4. 3. Инкрементная модель.
1. 4. 4. Эволюционная модель.
1. 4. 5. Гибридные модели.
1. 5. Инструментальные средства и стандарты поддержки жизненного цикла продукта.
Выводы по первой главе.
ГЛАВА 2. МАТЕМАТИЧЕСКИЕ МОДЕЛИ ОЦЕНКИ ПРОЦЕССА РАЗРАБОТКИ ПРОДУКЦИИ ВИРТУАЛЬНЫХ ПРЕДПРИЯТИЙ.
2.1. Роль методологии в создании модели.
2.2. Методология экстремального программирования.
2.3. Обоснования выбора методологии для виртуального предприятия
2. 4. Адаптация методологии экстремального программирования для виртуального предприятия.
2. 5. Основные принципы и модели VXP.
2. 5. 1. Планирование для клиента.
2. 5. 2. Итерационное планирование разработчика.
Выводы по второй главе.
ГЛАВА 3. ИСПОЛЬЗОВАНИЕ ОПИСАННЫХ МОДЕЛЕЙ В ПРОЦЕССЕ РАЗРАБОТКИ ПРОГРАММНЫХ ПРОДУКТОВ.
3.1. Описание разработанного инструментального средства определения набора историй для текущей версии программного продукта.
3. 2. Пример разработки программного продукта с использованием VXP .ИЗ
3. 2. 1. Обоснование возможности применения принципов и моделей VXP для разработки веб-ориентированных продуктов.
3. 2. 2. Разработка Интернет-магазина с использованием VXP.
Диссертация: введение по экономике, на тему "Методы и модели оценки процесса разработки программных продуктов на виртуальном предприятии"
В последние годы Интернет получил широкое распространение как среда взаимодействия. Он служит для объединения в единое информационное пространство, как отдельных пользователей сети, так и целых организаций. Благодаря Интернет-взаимодействиям возникают новые институты и организационные формы. Практически все сферы жизни обретают свои аналоги в сети. Обычное общение трансформируется в Интернет-общение, обучение становится дистанционным, коммерция преобразовывается в электронную коммерцию, обычные предприятия начинают обретать признаки виртуальности. В целом можно считать, что на смену постиндустриальному обществу приходит общество сетевое или даже виртуальное.
В ближайшем будущем ни одно изделие или услуга не смогут быть проданы на мировом рынке без электронного паспорта. В век глобализации предприятиям часто приходится действовать в условиях географической распределенности подразделений, партнеров и клиентов. Время выполнения заказа выходит на первый план среди остальных характеристик производства товаров или оказания услуг. В связи с этим, появляется новый тип организации - виртуальное предприятие, жизненный цикл которого отличается от традиционного предприятия. В большинстве случаев он практически совпадает с жизненным циклом продукции виртуального предприятия и существенно меньше жизненного цикла традиционного предприятия. Принципы функционирования виртуального предприятия, отсутствие географической привязки к ресурсам и рабочим площадям позволяют легко изменять его структуру соответственно новым требованиям. Это очень важный момент, так как в современном обществе постоянно изменяющихся технологий для успешной деятельности необходимо всегда быть в курсе событий и оперативно реагировать на нововведения с минимальными затратами.
Однако, несмотря на то, что мировая практика создания и функционирования виртуальных предприятий достаточно велика уже сейчас, теоретические исследования и выкладки несколько отстают. В этом легко убедиться, обратив внимание, хотя бы на то, как определяют понятие «виртуальное предприятие» различные ученые. Существуют десятки различных определений, но единого, общего научного мнения на этот счет до сих пор нет. Однако это понятие используют повсеместно и не всегда обоснованно.
Повсеместно предпринимаются попытки абсолютизировать полезность и универсальность виртуальных предприятий, хотя для многих видов производств и конкретных предприятий виртуальная форма просто невозможна, для других же влечет снижение эффективности.
Целью диссертационного исследования является разработка методов и моделей оценки процесса разработки программных продуктов на виртуальных предприятиях, обоснование эффективности их использования и возможности применения на практике. В соответствии с данной целью в диссертации поставлены следующие основные задачи:
• Выявление основных принципов сетевой экономики и основных тенденций развития виртуальных предприятий, возникающих в условиях данного типа экономики.
• Уточнение и классификация виртуальных компонентов предприятий.
• Выявление основных особенностей жизненного цикла программных продуктов и определение мотивации его моделирования.
• Адаптация модели быстрой разработки программных продуктов для виртуальных предприятий и разработка математических моделей оценки процесса разработки программных продуктов и оптимального распределения работ между участниками виртуального предприятия.
• Разработка методических материалов по использованию разработанных моделей при разработке программных продуктов.
• Разработка программного инструментария для практического применения разработанных моделей.
Предметом исследования является процесс разработки программных продуктов на виртуальных предприятиях.
В качестве объекта исследования рассматривалось виртуальное предприятие, функционирующее в сфере информационных технологий и создания программного обеспечения.
Теоретической и методологической основой исследования послужили основные положения современной экономической теории, теории автоматизированного управления, методологии программирования, моделирования и управления проектами, изложенные в работах отечественных и зарубежных ученых. Также были рассмотрены многочисленные Интернет-издания в области информационных технологий, виртуальных предприятий и сетевой экономики в целом. Для анализа использовалась деятельность крупных компаний, таких как «Amazon.com», «CarsDirect.com», «Greyhound», «E-generator.ru», «VeriFone», «Barney & Noble», «Motorola», «Apple» и других.
Научная новизна диссертационного исследования:
• выработана новая классификация виртуальных компонентов предприятий, действующих в рамках сетевой экономики;
• разработаны новые подходы к решению проблем оценки процесса разработки программных продуктов на виртуальных предприятиях, заключающиеся в определении способов оптимального распределения работ между подразделениями и максимального удовлетворения потребностей заказчика;
• обоснованы основные преимущества применения методологии экстремального программирования для разработки программных продуктов на виртуальных предприятиях;
• предложена экономико-математическая модель поиска вариантов распределения работ (историй) и методика определения их оптимального распределения при разработке очередной версии продукта.
• разработана модель распределения задач между подразделениями виртуального предприятия и предложена методика определения наиболее выгодных вариантов с точки зрения затрат на производство программного продукта;
Оценивая научную новизну работы, важно отметить нюансы, касающиеся специфики объекта исследования. Существующие модели лишь косвенно отражают особенности производства, осуществляемого на виртуальном предприятии. Разработанная модель учитывает специфику виртуальных предприятий, которая отражается на большинстве процессов жизненного цикла программного продукта. По результатам работы были даны рекомендации по эффективному использованию элементов виртуализации при разработке программных продуктов, а также учтены отрицательные моменты, которые могут возникнуть при их использовании.
Диссертация: заключение по теме "Математические и инструментальные методы экономики", Судаков, Сергей Сергеевич
Выводы по третьей главе
1. Приведены методические указания по использованию разработанного инструментария, реализующего описанные модели.
2. Обоснована возможность применения принципов и моделей VXP для оценки процесса разработки программных продуктов.
3. Практически подтверждена возможность использования разработанной методологии в практике деятельности виртуального предприятия по созданию программных продуктов.
4. На основе разработанных моделей в рамках экстремального программирования были рассчитаны распределение историй для разработки в очередной версии программного продукта, а также оптимальное распределение работ по подразделениям виртуального предприятия.
ЗАКЛЮЧЕНИЕ
Основной целью настоящей работы ставилась разработка методов и моделей оценки жизненного цикла программных продуктов виртуальных предприятий, обоснование эффективности их использования и возможности применения на практике. В соответствии с данной целью в диссертации поставлены и решены следующие основные задачи:
• Выявлены основные принципы сетевой экономики и основные тенденции развития виртуальных предприятий, возникающих в условиях данного типа экономики.
• Уточнены и классифицированы виртуальные компоненты предприятий, а также некоторые понятия предметной области, такие как: сетевая экономика, виртуальное предприятие, информационный продукт, что позволило качественно улучшить разрабатываемые модели.
• Выявлены основные особенности жизненного цикла программных продуктов и сделаны выводы относительно мотивации его моделирования.
• Адаптирована методология экстремального программирования для использования при производстве программных продуктов на виртуальных предприятиях и созданы математические модели оценки процесса разработки программных продуктов и оптимального распределения работ между участниками виртуального предприятия.
• Предложены методики по использованию вышеуказанных моделей при разработке программных продуктов.
• Разработан программный инструментарий для практического применения созданных моделей.
Результаты эмпирической проверки подтверждают применимость принципов и моделей VXP в процессе разработки программных продуктов на виртуальном предприятии. Приведенные принципы экстремального программирования для виртуальных предприятий позволяют оценить возможность использования VXP и при производстве некоторых других видов продукции.
Были получены следующие научные результаты, характеризующиеся научной новизной:
• обобщены и классифицированы виртуальные компоненты предприятий, а также уточнены основные понятия предметной области, такие как сетевая экономика, виртуальное предприятие, жизненный цикл программных средств, что позволило качественно улучшить разрабатываемые модели;
• разработаны новые подходы к решению проблем оценки процесса разработки программных продуктов на виртуальных предприятиях, заключающиеся в определении способов оптимального распределения работ между подразделениями и максимального удовлетворения потребностей заказчика;
• обоснован выбор методологии экстремального программирования для разработки программных продуктов на виртуальных предприятиях;
• предложена экономико-математическая модель формирования оптимального набора задач для реализации в очередной версии программного продукта, учитывающая итеративную разработку в соответствии с методологией экстремального программирования.
• разработана модель распределения задач между подразделениями виртуального предприятия и предложена методика определения наиболее выгодных вариантов с точки зрения затрат на производство программного продукта;
Оценивая научную новизну работы, важно отметить нюансы, касающиеся специфики объекта исследования. Существующие модели лишь косвенно отражают особенности производства, осуществляемого на виртуальном предприятии. Разработанные модели учитывать специфику виртуальных предприятий, которая отражается на большинстве процессов жизненного цикла программного продукта. По результатам работы были даны рекомендации по эффективному использованию элементов виртуализации при разработке программных продуктов, а также учтены отрицательные моменты, которые могут возникнуть при их использовании. Это представляется важным, в свете переходного этапа в котором находится мировая экономика, на пути к информационному обществу - этапа, когда многие из существующих институтов оказываются недейственными, возникают новые организационные формы и экономические институты, оказывающие важное влияние на общество, культуру и экономику современного мира.
Практическая значимость предоставленной работы заключается в следующих основных моментах:
• анализ различных методологий разработки программных продуктов предоставляет возможность осуществить правильный выбор методологии для конкретных проектов в зависимости от их специфики, размеров и количества сотрудников, работающих над ним;
• результаты проведенных исследований в области функционирования виртуальных предприятий могут быть использованы при организации распределенного производства;
• разработанные модели позволят оценить процесс разработки программных продуктов, производимых на виртуальных предприятиях, с точки зрения временных и денежных затрат на производство.
Возможными направлениями продолжения исследования являются:
• исследование других процессов жизненного цикла программных продуктов;
• создание инструментария для моделирования жизненного цикла программных продуктов с учетом специфики виртуальных предприятий.
• дальнейший анализ и поиск механизмов наиболее эффективного функционирования виртуальных предприятий;
Диссертация: библиография по экономике, кандидата экономических наук, Судаков, Сергей Сергеевич, Санкт-Петербург
1. Брукс Ф. Мифический человеко-месяц // М.: Символ-Плюс, 2006.
2. Бугорский В. Н. Сетевая экономика / Учебное пособие М: Финансы и статистика, 2007.
3. Бугорский В. Н., Судаков С. С. Технологии поддержки виртуальных предприятий сетевой экономики // Прикладная информатика. Москва, 2006. Вып. 3.
4. Вютрих Х.А., Филипп А.Ф. Виртуализация как возможный путь развития управления // Проблемы теории и практики управления, №5, 1999.
5. Головко М. CALS-система виртуального предприятия. // Директор ИС. 2004. - № 10.
6. Горнев В.Ф. Проблемы и технология комплексной автоматизации // Автоматизация проектирования 1999. № 1.
7. Давыдов А. В., Барабанов В., Судов В. CALS-технологии: Основные направления развития. // http://quality.eup.ru/materialy2/calsrazv.htm
8. Давыдов А. В. О некоторых социально политических последствиях становления сетевой структуры общества // Аналитический вестник. Москва, 2002. Вып. 17 (173), http://www.kongord.ru/Index/Articles/sf-davydov.html.
9. Каменнова М., Громов А. Технологии для виртуального предприятия. // Открытые системы. 2000. - № 4.
10. Ю.Катаев А.В. Виртуальные предприятия новая ступень в организации НИОКР // Стратегические аспекты управления НИОКР в условиях глобальной конкуренции: Отчет по НИР № 01.2.00100692. Таганрог: ТРТУ, 2001.
11. П.Левин А.И., Судов Е.В. CALS сопровождение жизненного цикла//Открытые системы, 2001, № 3.
12. Некрасова Е. Биография изделия. // СЮ. 2004. - № 4.
13. Норенков И.П. Основы автоматизированного проектирования: Учеб. для вузов. 2-е изд., перераб. и доп. // М.: МГТУ им. Н.Э.Баумана, 2002.
14. Ройс У. Управление проектами по созданию программного обеспечения / Пер. с англ. М.: ЛОРИ, 2002.
15. Сердюк В. А. От виртуального предприятия к виртуальному правительству: миф или реальность? // Менеджмент в России и за рубежом №2 / 2002.
16. Сердюк В. А. Сетевые и виртуальные организации: состояние, перспективы развития // Менеджмент в России и за рубежом №5 / 2002.
17. П.Соммервилл И. Инженерия программного обеспечения: 6-е издание // М.: Вильяме, 2002.
18. Тарасов В. Б. Предприятия XXI века: проблемы проектирования и управления. // Автоматизация проектирования. 1998. - № 4.
19. Уорнер М., Витцель М. Виртуальные организации. Новые формы ведения бизнеса в XXI веке / Пер. с англ. М.: Добрая книга, 2005.
20. Anderson, D.J., Agile Management for Software Engineering, Prentice-Hall PTR2003.
21. Armour, F., Miller, G., Advanced Use Case Modeling: Software Systems, Addison Wesley, 2000.
22. Beck, K., Extreme Programming Explained: Embrace Change, Addison-Wesley, 1999.
23. B.Boehm, «А Spiral Model of Software Development and Enhancement», Computer, May 1988, pp.61-72
24. Byrn J.A. The Virtual Corporation. Business Week. 8, February, 1993, 98— 103.
25. C.Alexander, The Timeless Way of Building, Oxford University Press, New York, 1979.
26. Cockburn, A., Agile Software Development, Addison-Wesley, 2002.
27. Cockburn, A., A Human-Powered Methodology for Small Teams, Addison-Wesley,2000, http://alistair.cockburn.us/index.php/Peopleand methodologiesinsoftwaredevelopment.
28. Cockburn, A., Surviving Object-Oriented Projects, Addison-Wesley, 1998.
29. Cockburn, A., Writing Effective Use Cases, Addison-Wesley, Boston, MA, 2000.
30. Cockburn, A., "Structuring Use Cases with Goals," Journal of Object-Oriented Programming, Sep-Oct 1997 and Nov-Dec 1997, online at http://alistair.cockburn.us/crvstal/articles/sucwg/structuringucswithgoals.htm
31. Constantine, L., Lockwood, L., Design for Use, Addison Wesley, 1999.
32. Davidov W.H., M.S.Malone, The Virtual Corporation. New York: Harper, 1993.
33. DeMarco, Т., Lister, Т., Peopleware: Productive Projects and Teams, 2nd Ed., Dorset House, 1999.
34. D.Thomas, «Web Time Software Development», Software Development, Oct. 1998, p.80
35. G.Lakoff and M.Johnson, Philosophy in the Flesh, Basic Books, New York, 1998
36. Goldman S.L., Nagel R.N., K/Preiss, Agile Competitors and Virtual Organizations. Van Nostrand Reinhold, 1995.
37. Graham, I., Henderson-Sellers, В., Younessi, H., The OPEN Process Specification, Addison-Wesley, 1997.
38. Goldratt, E., Theory of Constraints, North River Press, 1990.
39. Harrison, N., Coplien, J, "Patterns of productive software organizations", Bell Labs Technical Journal, Summer, 1996, pp. 138-145.
40. Highsmith, J., Adaptive Software Development, xxx press, 2000.
41. H.Takeuchi and I.Nonaka, @The New Product Development Game@, Harvard Business Rev., Jan./Feb. 1986, pp.137-146
42. Humphreys, W., Introduction to the Personal Software Process, Addison-Wesley, 1997.
43. IJacobsen, Object-Oriented Software Engineering, Addison-Wesley, New York, 1994
44. Jacobson, I., The Object Advantage : Business Process Reengineering With Object Technology, Addison Wesley, 1995.
45. Jacobson, I., "Object oriented development in an industrial environment," OOPSLA '87: Object-Oriented Programming Systems, Languages and Applications. ACM SIGPLAN, pp. 183-191.
46. Jeffries, R., "Extreme testing", in Software Testing and Quality Engineering, March/April, 1999, pp. 23-26.
47. J.Martin, Rapid Application Development, Prentice Hall, Upper Saddle River, N.J., 199248J.O.Coplien, «А Generative Development Process Pattern Language», The Patterns Handbook, L.Rising, ed., Camridge University Press, New York, 1998, pp.243-300
48. J.Stapleton, Dynamic Systems Development Method, Addison Wesley Longman, Reading, Mass., 1997.
49. J.Wood and D.Silver, Joint Applicatopn Development, John Wiley & Sons, New York, 1995.
50. Kulak, D., Guiney, E., Use Cases: Requirements in Context, Addison Wesley, 2000.
51. Martin, J., Odell, J., Object-oriented Methods, Pragmatic Considerations, Prentice Hall, 1996.53.0hno, Т., Toyota Production System: Beyond Large-Scale Production, Productivity Press, 1988.
52. Plowman, L., "The interfunctionality of talk and text", CSCW, vol. 3, 1995, pp.229-246.
53. Poppendieck, M., Poppendieck, Т., Lean Software Development:An Agile Toolkit, Addison-Wesley, 2003.
54. R.Coyne, Designing Information Technology in the Postmodern Age, MIT Press, Cambridge, Mass., 1995
55. Reinertsen, D., Managing the Design Factory, Free Press, 1997.
56. Rich, В., Janos, L., Skunk Works: A Personal Memoir of My Years at Lockheed, Little, Brown and Company, Boston, MA, 1994.Skunk Works
57. Schwaber, K., Beedle, M., Scrum: Agile Software Development, Prentice-Hall, Upper Saddle River, NJ, 2001 (see also http://www.controlchaos.com).
58. Sillince, J.A., "A model of social, emotional and symbolic aspects of computer-mediated communication within organizations", CSCW vol. 4, 1996, pp. 1-31.
59. S. Prowell et al., Cleanroom Software Engineering. Addison Wesley Logman, Reading, Mass., 1999
60. T. DeMarco and T.Lister, Peopleware, DorsetHouse, New York, 1999
61. T. Gilb, Principles of Software Engineering Management, Addison-Wesley, Wokngham, UK, 1988
62. The "C3" Team, "Chrysler goes to 'Extremes'", in Distributed Object Computing, October, 1998, pp. 24-28.