|
|
МенеджментНельзя автоматизировать хаосАнатолий Гавердовский Прежде чем говорить о том, как управлять проектами, определимся сначала, что собственно подразумевается под термином проектАвторитетная в области управления проектами, признанной специальной дисциплиной управления, организация Project Management Institute определяет проект как совокупность действий (процессов), приносящих результат, во время которых людские, финансовые и материальные ресурсы определенным образом организуются с тем, чтобы результат соответствовал утвержденным спецификациям, стоимостным и временным затратам как по качественным, так и по количественным показателям Понятно, что проект проекту рознь, и подход к управлению конкретным проектом во многом определяется не только его сложностью и размерами, но и областью деятельностиПравда, у проектов любых масштабов и в любой индустрии и есть одно общее - если за ними не присматривать, они обязательно ведут себя не так, как надо Прежде чем говорить о программном обеспечении управления проектами, необходимо рассмотреть принципы организации проектов в области информационных системЕсли хотя бы элементарный порядок в управлении проектом отсутствует, никакая программная система не поможет выполнить проект в срок и в рамках запланированного бюджета, максимум, на что она способна, - это констатировать значительные убытки компании и быть хорошим поводом для увольнения руководителя проекта Как правило, инфосистемные проекты связаны с разработкой программного обеспечения, а профессионалы в области информационных систем являются либо непосредственными участниками, либо соучастниками этого процессаШтат включает программистов-разработчиков, программистов-аналитиков, инженеров, которые ответственны за процесс тестирования программного обеспечения (или инженеров качества), системных аналитиков, аналитиков приложений, системных программистов, специалистов по аппаратному обеспечению во главе с руководителями и менеджерами проектов, а также некоторых специалистов смежных профессий, которые непосредственно не работают в области инфосистем, но тоже вовлечены в эти проекты Конечно, в принципе управление отделом разработки не отличается от управления любым другим подразделением компании, но, как показывает опыт, без учета особенностей этой сферы деятельности успеха не достичь Управление проектами по разработке программного обеспечения ставит своей целью вовремя выпустить качественный продукт, соответствующий заявленным в спецификации характеристикам, и при этом уложиться в отпущенный бюджет Для справки отметим, что по статистике в мире всего 5% из всех проектов завершаются вовремя и не выходят за рамки бюджета, в то время как 80% - опаздывают или выполняются благодаря дополнительным инвестициям, а оставшиеся 15% - так и остаются незаконченнымиНо также надо отметить, что надо стремится попасть в заветные пять процентов, а не использовать эту справку для оправдания перед руководством Качество является основным критерием выпускаемого программного продукта, оно ставит обязательным условием участие в разработке исключительно профессионалов и организацию процесса управления качеством продукта, однако третий критерий, бюджет, подвергается серьезному испытанию - возможность при создании информационной системы ограничить его за счет привлечения низкооплачиваемой рабочей силы отпадает Грамотное управление подразумевает увеличение производительности труда, но с обязательным сохранением, а в идеале и улучшением качества выпускаемых системВ свою очередь, улучшение качества, согласно аналитику из специальной группы ISSIG Project Management Institute Эдварду Демингу (Edwards Deming), всегда связано с соответствующим увеличением производительности Основная сложность разработки инфосистем состоит в том, что создаются уникальные интеллектуальные решенияКонсультант ISSIG Луис Зеллс (Lois Zells) считает, что в 9 случаях из 10 специалисты в области информационных систем работают над задачами, которые до этого ни они сами, ни кто-либо другой не выполнялиВ отличие от каменщиков, десятилетиями кладущих одни и те же кирпичи одним и тем же способом, программисты не пишут одинакового кодаХотя концептуально это правильно, необходимо рассмотреть факторы, которые могут помочь, грубо говоря, привести работу программиста к работе каменщика При планировании проекта руководители вынуждены приспосабливаться к большой доле неопределенностиЧтобы было понятно, о чем идет речь, опишем кратко основные процессы планирования проекта, которое заключается в определении целей и критериев успеха проекта и в разработке рабочих схем их достижения:
Эта операция является наиболее важной в управлении проектом создания информационной системы, так как именно на этом этапе происходит снижение (именно снижение, а не устранение) той самой неопределенности, которая в конце концов оказывает прямое воздействие на сроки и стоимость проектаВ то же время степень детализации проекта должна зависеть от самого проекта и его сложностиГлупо требовать разбиения проекта вплоть до компонентов, которые содержат только одну строчку кода, но до функций или функциональных блоков, почему бы нетКроме того, необходимо требовать, чтобы разработке компонентов предшествовало ее проектирование с созданием проектного документа и обсуждением и принятием этого документа в команде проектаЭто только кажется, что конкретный исполнитель до конца понимает ту задачу, которую ему поручили, иногда даже руководитель проекта этого не понимаетПредварительное обсуждение перед непосредственным кодированием помогает снизить неопределенность и повысить вероятность исполнения задания по кодированию компонентов в предварительно объявленные сроки
4.1Детализация проекта и достижение полной ясности для ВСЕХ участников проекта по каждому компоненту проектаНельзя оценивать то, что никто не знает, ни как делать, ни что именно 4.2Постоянное измерение производительности КАЖДОГО из участников проекта с целью выяснения их сильных и слабых сторон, а самое главное - сбор статистики о том, насколько при условии выполнения пункта 4.1 его оценка сроков выполнения этапа соответствует реальной действительностиЧто бы ни говорили руководители проектов, оценку исполнения этапа им дает сотрудник, который будет исполнять данный этапИ если сотрудник ошибается, то поползет весь проект, так как решения, заметьте - все последующие, будут приниматься руководителем проекта исходя из неверных оценокОпыт проведения многих проектов показывает, что это возможно, и вполне вероятно достичь средней ошибки в оценках, которая не превысит 20%, что является довольно неплохой точностью в разработке программного обеспечения 4.3Соответственно, измерение производительности разработчиков приводит к селекции участников проекта, с целью создания команды из сотрудников, которые дают наиболее точные и соответствующие реальности оценки трудоемкости этапов;
Следующая особенность управления проектами по созданию информационных технологий заключается в их большом рискеПод риском в теории управления проектами понимается вероятность нежелательного результата, и обусловлено это может быть событиями различного характера: геофизического, политического, финансового и др В нашем случае к традиционным возможным задержкам инвестиций, прекращению аренды прежнего помещения и тпприбавляются субъективные причины, связанные с уникальным характером разработок, когда, к примеру, при увольнении выполняющей проект команды программистов проще заново разработать программу, чем разбираться в написанном кодеЭто стандартное мнение о процессе программированияНо руководитель должен строить свой проект таким образом, чтобы снизить риск подобного событияДля этого необходимо в рамках проекта выполнять следующие превентивные процедуры
Борьба с риском осуществляется на стадии планирования проекта, где производится идентификация и оценка риска (определение и документирование событий, которые могут повлиять на проект и оценка вероятностей наступления событий, их характеристик и влияния на проект, соответственно), а также на стадии управления проектом При выполнении проекта очень важно организовать обратную связь между разработчиками и руководителем проекта с помощью периодических отчетовОчень важно, чтобы создание отчетов об исполнении не зависело от погоды и состояния и настроения разработчиковВ отчетах должны содержаться информация о прогрессе исполнения той или иной задачи и, что весьма существенно, объяснение, почему та или иная задача была не исполнена в срокЭта информация является ключевой для накопления статистики о производительности сотрудников и точности выдаваемых им оценок, а иногда свидетельствует о проблемах самого руководителя проекта, который неправильно организовал работу или не добился детализации и ясности проекта На этом этапе определяют необходимые для успешной реализации проекта управляющие воздействия и применяют ихУправление рисками - это реагирование на события и изменение рисков в процессе реализации проекта Несмотря на то что по науке перечисленные процессы относятся к вспомогательной группе, недостаточные усилия по снижению риска проектов в области инфосистем (уменьшения риска надо добиваться даже ценой увеличения трудоемкости) в основном и приводят к их провалам Кроме управления риском следует поговорить о проблеме управления качеством программного проектаКак ни странно, но в России этому аспекту уделяют наименьшее значение, пытаясь уменьшить величину бюджета, экономя на создании и содержании отдела качества программного обеспеченияЭто приводит к тому, что сам заказчик выступает в роли отдела качества и тестирует программное обеспечение в процессе опытной эксплуатации, а в некоторых случаях - промышленной эксплуатацииЧем это грозит, думается, не надо объяснятьНет необходимости создавать отдел качества на каждый проект, он может в компании существовать в единственном экземпляре, но, что самое главное, должен абсолютно не зависеть от отдела разработкиТак, существует естественная тенденция, когда отдел разработки хочет поскорее сдать проект и приступить к новому, и процесс достижения требуемого качества является необходимой, но самой нелюбимой всеми разработчиками процедуройСоответственно, очень важно, чтобы руководитель проекта не имел никакого воздействия на отдел качестваТакое отделение для повышения качества проекта, но, естественно, вызывает определенные коммуникационные проблемы между отделом разработки и отделом качества Решение коммуникационных проблем лежит в области налаживания стандартных процедур работы над качеством продуктаВ отличие от создания самого продукта, процесс исправления ошибок в программе более формализуем, и оценки трудоемкости исправления могут быть очень точны (если уж здесь, на этом этапе, есть ошибки более 100%, то вам нужно менять отдел разработки)Стандартная процедура контроля качества может выглядеть, например, так:
Во многом уследить за проектом, этим склонным к непослушанию объектом, помогает информационная система управления, теорганизационно-технологический комплекс методических, технических, программных и информационных средств, направленный на поддержку и повышение эффективности процессов планирования и управления проектом
Всего найдено страниц: 2 |