top of page

Глава 3. Основные проблемы проектного управления. Рост сложности автоматизируемых объектов. Распределение трудозатрат по фазам жизненного цикла АС. Уникальность и адаптация. Проблема передачи требований.

 

Согласно отчету Standish Group в 2009 году не более 32% проектов в области информационных технологий были успешными (уложились во время, бюджет и соответствовали требованиям качества), 44% встретили препятствия (такие как перерасход бюджета, превышение срока), 24% проектов были отменены до завершения или разработки и никогда не использовались. При этом существуют оценки, которые делают данную картину еще более удручающей. В соответствии с ними не более 10% от «успешных» проектов оказываются действительно полезными, т.е. соответствующими бизнес-целям организации [Громов].

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

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

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

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

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

Упоминание темы конфликтов является обязательным при рассмотрении проблем проектного управления. Раздел по управлению конфликтами включен, в том числе, в ведущий стандарт PMI PMBOK.

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

Результатом  конфликтов становится взаимная адаптация и успех в реализации проекта, либо отказ от адаптации и провал проекта. Уровень конфликта может быть измерен методами теории экспертного оценивания. Научные работы последнего времени в области проектного управления и анализа конфликтов (например, [Barki]) показали связь высоких уровней конфликта при реализации проектов с падением качества получаемого результата проекта. В организациях, не располагающих развитой системой проектного управления (низкого уровня зрелости в терминах модели CMMI) уровень конфликтов резко изменяется в ходе реализации проекта и обычно имеет седловидную форму. Т.е. весь конфликт, который должен в идеале создавать адаптационное давление на всем протяжении проекта, локализуется с чрезмерными уровнями в этапах инициации проекта (согласования плана, бюджета, состава проектной группы) и сдачи работ (приемка и оплата).

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

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

В цифрах это выражается следующим образом: в конце 70-х срок создания новой промышленной программной системы составлял около 1,5 лет при сроке функционирования без потребности в значимых изменениях около 7 лет. В конце 80-х средний срок разработки сравнялся со сроком функционирования без изменений на уровне около 3-х лет [Громов, стр. 204]. В настоящее время срок создания новой крупной системы в разы превышает срок ее сохранения в первоначальном виде.

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

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

Результат такого подхода иллюстрируется, например, показателями перераспределения относительных затрат между этапами жизненного цикла сложного программного обеспечения, например, за период с 75-го до 85-го года следующим образом [Громов стр. 194]:

Этап жизненного цикла автоматизированной системы

1975

1985

Постановка задачи и проектирование

28%

40%

Кодирование

14%

3%

Отладка и приемо-сдаточные испытания

28%

7%

Сопровождение

30%

50%

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

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

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

Несмотря на развитие различных языков формального описания бизнес-процессов, таких как Универсальный язык моделирования (UML) и соответствующих систем проектирования (например, Rational Rose), данная проблема не может считаться разрешенной. Ее существование приводит к неизбежности ошибок при составлении требований на разработку программного обеспечения и частично компенсируется в основном за счет специализации коллективов разработчиков и их обучения в рамках отдельной предметной области или за счет привлечения бизнес-специалистов к программированию, что не может быть отнесено к промышленному решению проблемы.

Еще одну проблему проектного управления представляет затруднительность промежуточного контроля реализации проекта в части объема выполненных работ и их качества.

Периодическая отчетность руководителя проекта перед заказчиками проекта и его спонсором не решает проблему не только в связи с тем, что руководитель проекта заинтересован в оптимистичности оценки промежуточного результата, но и с тем, что промежуточный этап не поддается оценке из-за отсутствия объективно распознаваемого и  измеряемого результата. Именно поэтому большое значение придается выделение контрольных точек в календарных планах проектов, а ошибки в их планировании приводят к утере внешнего контроля и, часто, к провалу проекта.

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

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

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

bottom of page