Самое важное, что должно произойти – это замена «нормальной» культуры разработки ПО на «радикальную» культуру, которую олицетворяют собой безнадежные проекты. Такие изменения не могут произойти легко или быстро, поскольку бюрократия будет усиленно отстаивать старые порядки. Правда, в разумной организации понимают, что успех первого безнадежного проекта – это в основном дело случая и результат упорства части команды. Если организация хочет заранее прогнозировать успех в последующих безнадежных проектах, она должна измениться.
Изменения захватывают средства и технологии, процессы и методологии, стили управления и стратегии планирования, используемые организацией-разработчиком ПО. Они подразумевают решение таких вопросов, как:
· Каких сотрудников следует принимать на работу? В рамках закона и этических норм и при отсутствии какой-либо дискриминации организация, вероятно, будет стремиться найти более молодых и энергичных людей, отдавая предпочтение неженатым и тем, кто не слишком интересуется чем-либо, помимо работы. Молодые, неженатые трудоголики – это именно то, что требуется многим организациям для их безнадежных проектов.
· Что следует говорить потенциальным новым сотрудникам об организации. Мне кажется, что не только неэтично, но и просто глупо скрывать тот факт, что организации собирается следовать стратегии безнадежных проектов. В самом деле, организации, внедряющие такой подход, обычно весьма гордятся этим, так же, как и любым другим аспектом своей культуры. Организация может не пожелать акцентировать внимание на том, что только небольшой процент пришедших новобранцев успешно пройдет через первый безнадежный проект (так же, как в колледжах не признаются, что большая часть вновь пришедших первокурсников провалится на экзаменах и будет отчислена), однако ей следует предупредить, что рабочий день вряд ли будет укладываться в рамки «с 9 до 5».
· Каким образом безнадежные проекты могут повлиять на карьерную политику – в частности, продвижение по службе, повышение в должности и премии? Например, в юридических фирмах и компаниях «Большой Шестерки» новобранцам принято говорить, что должно пройти от семи до девяти лет, прежде чем они смогут стать партнерами; они могут занимать промежуточные ступеньки «менеджера» или «старшего менеджера», но ни у кого не должно быть иллюзий, что долгие часы и тяжелая работа закончатся через год или два.
· Каким образом безнадежные проекты могут повлиять на стиль руководства? Следует ли ожидать, что с самого начала проекта менеджеры будут выжимать из участников команды все соки и затем выбрасывать их за ненадобностью? Или же менеджер проекта будет нести ответственность за хорошее самочувствие участников команды в такой же степени, как за своевременную сдачу работоспособной системы пользователям? Отметим, что если нормальная организация хочет внедрить культуру безнадежных проектов (вместо того, чтобы периодически бороться с такими проектами), она, по-видимому, хочет, чтобы такие проекты завершались успешно; в соответствии с классификацией в главе 1 это означает, что организация сознательно идет на проекты типа «невыполнимая миссия» или «отвратительные». Однако, если дела идут паршиво, а люди «сгорают на работе» и разбегаются к концу проекта, почему бы не воспользоваться услугами консультантов? Sharon Marsh Roberts замечает по этому поводу:
Я считаю, что организации необходимо найти способ обновления своих ресурсов. Одна альтернатива – использование множества консультантов, от которых ожидается работа в стиле «заработай кучу денег и отваливай». Другая альтернатива – иметь «зону безопасности», в которой сотрудники могли бы отсиживаться между безнадежными проектами.
· Какими средствами должна быть оснащена сама организация, если каждый проект будет безнадежным? Если окажется, что главным фактором успеха первого безнадежного проекта стала технология повторного использования с соответствующей библиотекой классов или визуальное средство быстрой разработки приложений, то, возможно, каждый проект должен иметь в распоряжении эти средства.
· Какого типа инфраструктуру должна иметь организация, чтобы поддерживать безнадежные проекты? Она может включать электронную почту в масштабах всей компании или более развитую инфраструктуру рабочих групп, основанную на использовании Lotus Notes. Кроме того, она могла бы также включать серьезные изменения в человеческой инфраструктуре – т.е., сеть администраторов и обслуживающего персонала должна разрастаться, а слой бюрократов – сокращаться.
· Какого рода процессы подходят для культуры безнадежных проектов? Механизм определения приоритетов, формальные процессы и многое другое из того, что обсуждалось в главе 5, должно быть принято на уровне организации, чтобы каждая команда могла получить необходимую ей поддержку, когда она пытается реализовать соответствующие процессы на практике в конкретном безнадежном проекте. Отметим также, что на процессы оказывает влияние (хотя и небольшое) длительность проекта; большинство организаций находит, что вероятность успеха краткосрочных безнадежных проектов выше. Как отмечает Bill Hamaker:
Вместо нескольких крупных безнадежных проектов лучше выполнить побольше небольших проектов. Сконцентрируйтесь на создании такой организации, которая умеет извлекать уроки из результатов каждого безнадежного проекта. Отведите достаточно времени между проектами, чтобы специалисты могли оценить все плюсы и минусы разработки; это время будет для них своего рода отдыхом.
7.3 Обучение участников безнадежных проектов
В главах 6 и 7 я затрагивал вопросы обучения проектной команды новым процесса и средствам. Однако, потребность в таком обучении изменяется, если безнадежные проекты становятся частью корпоративной культуры. В этих случаях соответствующие процессы и средства должны быть частью корпоративных стандартов, что исключает необходимость внедрения их в начале каждого проекта как чего-то радикально нового.
В реальности, разумеется, существует некоторый переходный период, когда организация меняет свой режим работы, переходя от прежней формы выполнения проектов к новому стилю. Однако даже во время переходного периода идеальным вариантом было бы проводить обучение не в самом безнадежном проекте, а в нормальной обстановке; разумеется, такое обучение следует рассматривать как часть переходного процесса. При удачном стечении обстоятельств это позволит сделать процесс обучения более упорядоченным и не загонять его в цейтнот, как это обычно бывает, если обучение проводится в середине безнадежного проекта.
Соответствующее обучение также должно проводиться для новых сотрудников, принимаемых на работу. Новичкам - например, выпускникам колледжей, которые никогда не занимались полноценной разработкой ПО - нет необходимости объяснять, что новый подход отличается от старого подхода; в самом деле. ведь они даже не слышали такое понятие - «безнадежный проект». В чем они действительно нуждаются, так это в обучении методам, процессам и средствам, которые организация считает эффективными для применения в безнадежных проектах. Они, скорее всего, будут сильно отличаться от тех процессов и средств, с которыми новобранцам приходилось иметь дело прежде. (Ирония заключается в том, что как только прежние новобранцы примут участие в своем первом безнадежном проекте, менеджер велит им «игнорировать все, чему их научили в классе» и усвоить более прагматичный подход к разработке ПО.)
Хотя такие формы обучения выглядят разумными и рациональными, во многих небольших организациях они игнорируются; обучение проводится непосредственно во время работы, разработчикам приходится вникать в тонкости процессов и средств по ходу дела. Еще хуже дело обстоит для менеджеров - как заметил мой приятель Tim Lister, единственное обучение, которое получает большинство менеджеров проектов, заключается в двух словах: «Желаю удачи!»
Разумеется, руководства и аудиторное обучение методам, процессам и средствам управления проектами являются важными и полезными. Однако многие организации считают, что «реальную работу» ничем не заменишь - в самом деле, они вполне сознательно игнорируют аудиторное обучение, полагая, что если вы пройдете через реальный безнадежный проект, то приобретете опыт, который никогда не получите, занимаясь в классе.
Вместо того, чтобы спорить о достоинствах и недостатках аудиторного и «боевого» обучения, я думаю, что организациям стоит рассмотреть компромиссный вариант: имитацию безнадежного проекта. Аналогия с «имитатором полетов» является более близкой, чем это может показаться на первый взгляд: пилоты авиалиний используют эти имитаторы не только для отработки нормального взлета и посадки, но и действий в различных аварийных ситуациях, что они не могут позволить себе на реальных самолетах. Имитатор полетов дает отличную возможность врезаться в гору, никого при этом не убив. Почему бы менеджеру проекта вместе со всеми участниками команды не направить полет своего проекта в подобие такой горы, чтобы они могли приобрести опыт решения возникших проблем, никого при этом не убивая? И почему бы не потребовать от разработчиков и менеджеров, чтобы они раз в год посещали имитатор безнадежного проекта, как это делают пилоты авиалиний?