Выбор методов, моделей и стандартов управления проектами разработки программного обеспечения в контексте организационной культуры
Статья опубликована в Вестнике ИНЖЭКОНА 1(20) 2008

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

Особенности бизнес-моделей компаний разработчиков ПО.

Разнообразие бизнес-моделей компаний разработчиков ПО, их организационных культур, специфики взаимоотношений с клиентами, технологические особенности проектов предполагает использование различных подходов к организации работы, и следовательно, различных проектных и процессных методологий. Предлагаемая нами классификация методологий, моделей и стандартов, представлена в [1]. М. Кусумано выполнил анализ бизнес-моделей и стратегий компаний-разработчиков ПО, он доказал, что успех ИТ-компании в первую очередь зависит не от технологической, а от бизнес-составляющей [10]. Анализ статистики крупнейших ИТ-компаний выявил тенденцию перехода компаний от продуктовой к сервисной модели в долгосрочной перспективе, проявляющуюся в увеличении доли услуг в обороте ИТ-компании. Согласование проектных и процессных методологий с бизнес-стратегией компании приобретает большое значение в условиях изменения бизнес-модели.

Подходы к выбору методов, моделей и стандартов.

При выборе методологий, моделей и стандартов учитываются следующие аспекты:

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

Подготовка и обеспечение выбора.

Техническая и организационная подготовка процессов и процедур выбора, адаптации и применения методологий включает в себя создание библиотеки (репозитория) моделей, стандартов, техник, представляющего собой специализированную базу знаний компании. Предметом отдельного исследования должен стать вопрос поиска компромисса между административными подходами к процессам формирования базы знаний и возможностями инициативных подходов с использованием методов управления знаниями, управления изменениями и технологиями Enterprise 2.0, представляющими собой использование социальных сервисов в корпоративной среде [12]. Теоретической основой дальнейших исследований в этом направлении является теория управления знаниями и теория управления изменениями. Для использования современных методологий управления проектами разработки ПО целесообразно, а в некоторых случаях просто необходимо, использовать специализированные инструментальные средства, что предполагает создание и развитие в ИТ-компаниях соответствующих компетенций. Неразвитая интроспекция, объективно присущая многим компаниям на ранних этапах их становления и развития, ограничивает возможность применения подходов к выбору методологий, которые будут рассмотрены ниже. Поэтому развитие интроспективных практик, призвано обеспечить постоянную самоидентификацию компании, включая диагностирование ее культуры, долгосрочных целей, конкурентных преимуществ, производственной стратегии, маркетинговой стратегии, политики в области качества и других значимых характеристик. Необходимо идентифицировать принципы и убеждения, которые разделают менеджеры и специалисты компании в отношении эффективности ее деятельности. Принципы лежат в основе современной теории управления и определяют содержание методов, моделей и стандартов управления, использующихся в управлении разработкой ПО.

Процессы выбора и адаптации.

Необходимо создать, институализировать и непрерывно улучшать следующие процессы:

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

Далее мы рассмотрим проблемы процесса выбора методологий, моделей и стандартов в и предлагаемые нами варианты решения этой задачи.

В отличие от технологических процессов производственных компаний, процессы разработки программного обеспечения лишь в определенной степени ограничены технологией. Существование объективной гибкости в построении процессов делает их в большей степени зависимыми от влияния различных факторов, не связанных с технологией, например, от «культуры» компании. Понятие «культура» эквивалентно совокупности понятий «традиции», «привычки» и «общепринятые ценности». Культура в наибольшей степени обусловлена историей компании, реализуемой маркетинговой стратегией, структурой собственности. Такие факторы, как месторасположение офисов и штаб-квартиры компании, род деятельности влияют на культуру компании. Эдгар Шейн дает следующее определение понятия корпоративная культура: «корпоративная культура — комплекс общих посылок, убеждений и ценностей, которые возникли в рамках организации, для того чтобы выстроить ее отношения с внешней и внутренней средой, и которые передают новым членам организации с целью управления их действиями в этих условиях» [4]. Культуру составляют существующие символы, привилегии, система отличий и вознаграждений. Исследование взаимного влияния культуры компании, ее процессов, организационной структуры и стратегии имеют большое практическое значение для выбора адекватных методологий с учетом не только проектных, но и организационных факторов. Например, обнаруженное Р. Капланом и Д. Нортоном влияние истории компании и карьеры ее менеджеров на организацию процессов, позволяет диагностировать причины несбалансированного развития различных организационных процессов и структур [9, стр. 12] В ходе наблюдения за крупными американскими компаниями было обнаружено, что в каждой индустрии существуют один или несколько доминирующих процессов. Традиционно руководители компаний приходят из подразделений, ответвленных за приоритетные направления, что способствует сохранению приоритетов в компании, что способствует сохранению установившегося несбалансированного развития организации. Существуют две основные бизнес-модели копаний-разработчика ПО: продуктовая модель, заказная разработка. В зависимости от выбранной модели приоритет имеют либо процессы маркетинга и продаж, либо проектирования и разработки. То есть в первом случае существует большая вероятность, что менеджмент компании будет формироваться из маркетинговых служб, а генеральный директор будет больше внимания уделять процессу продаж. Во втором случае менеджмент будет формироваться из технических специалистов, и процессы разработки будут иметь высокий приоритет. Успех компании-разработчика на рынке зависит от того, сможет ли она обеспечить разумный баланс между производством и маркетингом. Руководители проектов традиционно больше внимания уделяют процессам проектов, и не заботится об улучшении вспомогательных процессов. С другой стороны, руководители иногда недооценивают влияние мероприятий по улучшению процессов на текущую деятельность. Чарльз Хэнди описал четыре модели культуры организации [14]:

  • Организация, управляемая личностями (как правило, основателем или собственником);
  • Организация, управляемая процедурами и инструкциями;
  • Проектная организация;
  • Творческая организация.

Обычно в компании присутствуют черты нескольких моделей, но одна из них доминирует. Согласованность бизнес-стратегии компании и ее организационной культуры определяет подход к выбору методологий и стандартов. Если существующая культура поддерживает стратегию, то следует использовать те методологии, которые позволяют институализировать культуру организации, закрепить ее в виде организационных процессов, процедур и стандартов. Например, компания-разработчик ПО, управляемая процедурами и инструкциями, сможет использовать преимущества подходов ISO 9000, CMMI, проектная компания получить выигрыш от проектных методологий PRINCE2, PMBOK, методологий управления разработкой ПО и внедрения ИС: RUP (Unified Rational Process, рациональный унифицированный процесс), MSF (Microsoft Solution Framework, интегрированная модель разработки Майкрософт) [5, 11]. Творческие организации смогут использовать группу методологий быстрой разработки, такие как семейство Crystal, Scrum и XP (eXtreme Programming, экстремальное программирование) [2, 7, 16]. Организации, управляемые личностями, могут использовать инструменты и методологии повышения эффективности личной работы, такие как Personal Software Process (Собственный процесс разработки) и инструменты контроля за производительность, такие как метрики SLOC (Software Line of Code, метрика подсчета строк кода), COCOMO (Constructive Cost Model, конструктивная модель оценки стоимости) [12, 15]. В том случае, если существующая организационная культура не поддерживает бизнес-стратегию, невозможно выбрать эффективные проектные и процессные методологии. Следует заметить, что крупные компании-разработчики программного обеспечения, особенно предназначенного для военных целей, управляются с помощью процедур и инструкций, что обеспечивает выполнение целей, придает гармонию и устойчивость, но является препятствием изменениям, не позволяет быстро реагировать на кризисные ситуации. Личное управление обеспечивает наибольшую маневренность, но может стать фактором, сдерживающим рост организации. Кроме того, личное управление связано с высоким риском Наибольшую сложность для управления имеют творческие организации, но в некоторых случаях только эта модель позволяет привлечь квалифицированных сотрудников, предпочитающих работать в творческой атмосфере. В управлении проектом разработки ПО может преобладать один из подходов:

  • Проектный подход (менеджерский)
  • Технический подход (инженерный)
  • Командный подход (психологический)

Для каждого из подходов существую свои ключевые факторы успеха проекта. Для проектного подхода это достаточность ресурсов, выполнение всех фаз/этапов проекта, соблюдение проектной методологии. Для технического подхода главным является выбор и реализация эффективной программной архитектуры, использование современных средств проектирования, разработки и тестирования. Командный подход видит залог успеха в установлении и сохранении эффективных коммуникаций между членами проектной команды, установлению «командного духа», а также высокой мотивации и уверенности в успехе проекта. Организационная культура меняется со временем, например, компания может пройти путь от личного управления к проектному управлению, а затем прийти к бюрократической модели (что происходит с большинством крупных стареющих организаций), или уменьшить степень контроля и предоставить больше свободы сотрудникам, при этом, не осознавая доминирующую на каждом этапе модель, и, следовательно, не учитывая ее слабые стороны. Концепция циклов развития организации, предложенная И. Адизесом, является одним из возможных инструментов диагностирования организационной культуры в динамическом аспекте [1]. Организационные условия выполнения проектов и история формировании компании оказывает влияние на ее культуру. Например, Эдвард Йордон описывает культуру организации, которая складывается при систематическом выполнении «безнадежных проектов» (проектов со сжатым более чем на 50% сроком разработки или уменьшенным числом разработчиков). В том случае, если организация постоянно выполняет «безнадежные проекты», то она сама изменяется, при этом изменения затрагивают все уровни организации: охватывают средства и технологии, процессы и методологии планирования, используемые организацией-разработчиком ПО [5].

Выводы.

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

  1. Адизес Ицхак К. Управление жизненным циклом корпорации Издательство: Питер, 2007 г. — 384 стр.
  2. Бек К. Экстремальное программирование: планирование.- СПб: Питер, 2003.- 143 с.
  3. Каплан Роберт, Нортон Дейвид Стратегические карты. Трансформация нематериальных активов в материальные результаты. Олимп-бизнес, 2004 г. – 512 с.
  4. Крачтен Филипп. Введение в Rational Unified Process. Вильямс, 2002 г. — 240 стр.
  5. Йордон Э. Путь камикадзе. Как разработчику программного обеспечения выжить в безнадежном проекте. Издательство «Лори», 2001 – 256 с.
  6. Роб Томсетт. Радикальное управление ИТ-проектами. Издательство: Лори, 2005 г. — 294 стр.
  7. Шейн Э. Организационная культура и лидерство. Построение. Эволюция. Совершенствование Издательство: Питер, 2002 г., 336 стр.
  8. Kaplan R. S. Norton D. P. The Balanced scorecard Harvard Business School Press Boston, Massachusetts, 1996 – 322 p.
  9. Cusumano Michael A. The Business of Software: What Every Manager, Programmer, and Entrepreneur Must Know to Thrive and Survive in Good Times and Bad Free Press, 2004 – 352 p.
  10. Capability Maturity Model® Integration (CMMI SM), Version 1.1 Continuous Representation CMU/SEI-2002-TR-011 ESC-TR-2002-011 CMMI Product Team Copyright 2002 by Carnegie Mellon University. 725 p
  11. Boehm B. COCOMO II Model Definition Manual, Center for Software Engineering, 1998 — 37p.
  12. McAfee Andrew P. Enterprise 2.0: The Dawn of Emergent Collaboration ; Spring 2006, Vol. 47, No. 3, pp. 21-28
  13. Handy Charles Gods of Management: The Changing Work of Organizations Oxford University Press, 1996 — 272 p.
  14. Humphrey W. S. The Personal Process in Software Engineering, A personal Commitment to Software Quality. — SEI, 1994. —29 p.
  15. Schwaber Ken Agile Project Management with Scrum, Microsoft Press 2004 – 163 p.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Call Now Button