Ускорение продвижения проекта.Вопреки интуитивному предубеждению, хорошо организованный порядок действий не снижает, а повышает производительность труда. Например, вспомним белые разделительные полосы на автострадах. Благодаря тому, что они устанавливают одни и те же ограничения для всех участников движения, отдельные водители могут ездить очень быстро. Хорошо организованный процесс предоставляет систему, от которой люди могут зависеть и строить на ее основе свои решения. В некоторых случаях процесс распределяет исполняемые роли, Стиву становится проще получить то, что нам нужно, от Молли (например, найти кого-то для просмотра программного кода). Каноническим примером могут послужить автоматизированные инструментальные средства, позволяющие людям реализовывать проекты несколькими нажатиями клавиш, если они следуют необходимым определенным в инструментальной системе соглашениям по созданию программного кода.
Предотвращение проблем.Наиболее распространенной мотивацией внедрения производственного процесса является предотвращение проявлений (или повторений) некоторых разновидностей глупости. Трудность в том, что это нужно сделать без усложнения процесса и без создания благоприятных условий для какой-нибудь новой глупости. Для этого нужно понимать причины возникновения проблем и наиболее важные факторы, обеспечивающие прогресс. Задайте вопрос: «Каков наименее навязчивый, наименее раздражающий и наименее затратный способ никогда не повторять больше ошибок X, Y и Z ?» Или подойдите с другой стороны: «Какую проблему процесс может предотвратить? Насколько серьезна или реальна эта проблема?» Если процесс не препятствует возникновению проблем или не способствует прогрессу, то от него лучше отказаться (см. следующий раздел).
Наглядность и возможность оценки важных действий.Процессы выявления ошибок или выпуска технических условий облегчают отслеживание частоты подобных действий. Можно отслеживать их состояние, результаты и тенденции в работе всей команды. Что касается ошибок, технических условий и тестов, хорошо продуманный процесс упростит определение состояния проекта. Это играет важную роль для выработки стратегии в промежуточной и авершающей стадиях проекта (см. главы 14 и 15).
Наличие встроенного процесса для изменения или упразднения главного процесса.Поскольку в проектах все время что-то меняется, процесс, который был полезен или необходим в этом месяце, может утратить свое значение в следующем. В самом процессе должен быть встроенный механизм, позволяющий решать, когда его нужно обновить или прекратить. Никогда не нужно брать в расчет, что процесс будет идти всегда, поэтому избегайте определять чьи-либо задачи на его основе. Кто-нибудь, кто определяет свою работу как «я тот самый парень, который гоняет пятый тест», будет стремиться грудью стать на защиту теста номер пять и бояться любых касающихся его изменений. А это плохо. Лучше назначьте людей ответственными за те последствия и результаты, которые процесс приносит проекту.
Польза для людей, вовлекаемых в процесс.Людям нравятся полезные процессы. Хорошо организованный процесс станет желанным для всех, кто в нем нуждается. Если вы предлагаете внедрить новый процесс, затрагивающий работу программистов, и этот процесс будет полезным для проекта, то уговорить их попробовать его в деле окажется совсем не трудно. Люди естественным образом должны быть вовлечены в придумывание новых процессов. Ну а если вовлекаемые в предлагаемый процесс люди смогут привести массу доводов против него, то, возможно, они правы.
Формула хорошего процесса
При продумывании процесса нужно сопоставить ценность от привносимых им положительных эффектов и стоимость его внедрения и выполнения. Существует и формула, которая поможет это сделать. Чтобы извлечь пользу из этой формулы, вам не понадобятся реальные числа. Я предлагаю ее лишь в качестве упражнения, помогающего задуматься о соотношении достоинств и недостатков дополнительных технологических процессов. Если вам не нравятся упражнения или формулы, перейдите к следующему разделу – канву повествования вы не потеряете.
Сначала рассмотрим стоимость процесса: время на выработку замысла процесса ( DT ), время на его освоение командой ( LT ), фактическое время выполнения работы при применении процесса, помноженное на частоту его применения ( AT × N ). Полная стоимость любого процесса равна:
Читать дальше
Конец ознакомительного отрывка
Купить книгу