«БЕЗНАДЕЖНЫЕ» ПРОЕКТЫ
Такие проекты порождаются самыми различными причинами:
· высокая конкуренция, вызванная появлением новых компаний на рынке или новых технологий;
· сильное воздействие неожиданных правительственных решений;
· неожиданный и (или) незапланированный кризис;
· политические «игры» высшего руководства;
· наивный оптимизм и менталитет первопроходцев у неопытных разработчиков.
Многие «безнадежные» проекты связаны с применением в первый раз новых технологий. Достаточно вспомнить первые проекты, связанные с объектно-ориентированной технологией, технологией «клиент-сервер», реляционными базами данных или Internet. Некоторые из них носили экспериментальный характер и имели целью извлечение потенциальных выгод из новой технологии, однако другие, вероятно, были ответом конкурентам, внедрившим такую же технологию. В последнем случае такие проекты могут быть непомерно большими, а также отягощенными чрезвычайно агрессивными планами и бюджетами.
|
|
В то же время самым серьезным фактором «безнадежности» проекта, помимо его масштаба, плана и бюджета, является попытка использовать неопробованную технологию в критически важных приложениях. Даже если технология в принципе применима, она может не годиться для крупномасштабного применения; никто не знает, как использовать ее преимущества и избежать ее недостатков; у поставщика нет опыта ее поддержки и т.п.
Наиболее распространенные причины, побуждающие разработчиков участвовать в «безнадежных» проектах, можно охарактеризовать следующим образом:
· высокое вознаграждение;
· синдром покорителей Эвереста;
· наивность и оптимизм молодости;
· угроза безработицы;
· возможность будущей карьеры;
· возможность победить бюрократию.
Наилучший пример данной ситуации — это работа в начинающей компании. Если заверить участников проекта, что его успех принесет компании всеобщую известность, а им поможет стать миллионерами, то они с радостью будут работать до изнеможения. Конечно, они могут отдавать себе отчет в рискованности этой затеи, но, поскольку многие верят, что они всемогущи и бессмертны, они не обратят особого внимания на риск.
Разумеется, самоуверенность участников проекта выручает в ситуациях, когда обычные проектные команды терпят поражение. Тот факт, что наиболее успешные продукты - от Lotus 1-2-3 до Netscape Navigator — были разработаны небольшими командами в условиях, неприемлемых для нормальных людей, уже стал фольклором в индустрии ПО. Такие проекты, заканчиваясь успешно, приносят проектной команде известность и славу; даже когда они проваливаются, то зачастую позволяют всем участникам извлечь для себя важные уроки (хотя для организации в целом последствия могут быть катастрофическими).
|
|
Важно отметить, что наивность и оптимизм молодости обычно сочетаются с огромной энергией, целеустремленностью и отсутствием таких помех, как семейные отношения. Гораздо чаще можно встретить 22-летнего программиста, который готов и жаждет участвовать в «безнадежном» проекте со 100-часовой рабочей неделей в течение года или двух, чем 35-летнего женатого программиста с двумя детьми и весьма умеренной склонностью к покорению горных вершин. Молодой программист, желающий участвовать в «безнадежном» проекте, а также относительно молодой менеджер проекта, дающий оптимистические обещания начальству, как бы утверждают: «Разумеется, мы обеспечим успех этого проекта и сокрушим все препятствия на своем пути!»
Индустрия ПО привлекает в основном молодых, и вряд ли ситуация изменится в ближайшие несколько лет, а молодежь утратит оптимизм, энергию и способности сосредоточиваться на решении проблем. Что касается наивности, то эта болезнь проходит только с возрастом.
Технические специалисты и менеджеры проектов часто жалуются, что их корпоративные бюрократы мешают продуктивно работать и задерживают разработки ПО. Чем крупнее организация, тем сильнее бюрократия, особенно в тех организациях, где служба стандартов требует строгого соблюдения требований SEI-СММ или ISO-9000. Аналогично департамент по управлению персоналом может использовать процедуры скрупулезной проверки каждого вновь принимаемого на работу сотрудника или стороннего разработчика, привлекаемого к участию в проекте.
«Безнадежные» проекты нередко предоставляют возможность обойти некоторые, если не все, бюрократические рогатки, и этого достаточно, чтобы раздраженные бюрократией разработчики ПО принимали участие в таких проектах. В крайнем случае проектная команда перебирается в отдельное здание, где ничто не мешает им выполнять свою работу. Даже в менее экстремальной ситуации «безнадежный» проект зачастую дает возможность использовать собственные средства и языки программирования, осваивать новые технологии наподобие объектно-ориентированного программирования, а также сокращать большинство громоздких процедур и объем документации, которые в обычных условиях требуются в полном объеме. Не менее важно и то, что менеджер проекта получает большую свободу действий в подборе участников проектной команды, чем в обычных условиях.
Следует отметить, что некоторые аналитики смотрят на проблему оптимистично; они полагают, что количество «безнадежных» проектов в последующие годы будет уменьшаться. Причины такого уменьшения: а) рост корпоративной культуры IT-компаний; б) обучение разработчиков различным методам обеспечения качества в сочетании с «быстрой» разработкой ПО.
7.3.