
- •Глава 14
- •Подготовка к проведению оценки
- •Продолжение обсуждения проекта
- •Глава 15
- •Последующий анализ
- •Быстрый цикл разработки и оптимизация
- •Организационные и технические аспекты
- •Часть 3
- •Глава 16
- •Проектирование поведения рабочего
- •Инсталляция, печать и другие системные функции
- •Глава 17
- •Подходы к спецификации
- •Спецификации в стиле минимализма
- •Глава 18
- •Трудно предсказуемые факторы
Быстрый цикл разработки и оптимизация
Реализация (прототипа или продукта) — весьма дорогостоящая деятельность, которая является лишь средством достижения цели, но не самой целью. Ниже приведены некоторые подходы и методы, направленные на повышение эффективности реализации.
Дежурное тестирование. Один из подходов к оценке продукта можно назвать относительно пассивным. Сущность этого подхода состоит в том, что он как бы "перебрасывает" продукт через стену специалистам, проводящим тестирование практичности. Это подход "ожидает", пока к нему вернутся результаты тестирования, прежде чем определить, каким образом совершенствовать продукт. В зависимости от характера выполнения тестирования между двумя "бросками" может пройти два календарных месяца. Обычно результаты последующей итерации невыразительны.
Здесь более уместен активный подход. Вместо напряженного следования план-графику персонал, участвующий в создании продукта, активно вовлекается в оценку продукта. Члены бригады могут проводить и отслеживать тесты на практичность. Борьба находящихся на "дежурстве" пользователей с продуктом иногда приводит к выработке лучших альтернатив. Время выявления проблемы и выработки решения уменьшается, так что полный цикл занимает один день.
Полезное правило. Не беспокойтесь о том, чтобы проявить необъективность при анализе результатов тестирования. Трудно утверждать, когда вы добьетесь количественного и качественного улучшения продукта.
Спросить разрешения? Даже будучи приверженцами пользовательской удовлетворенности, менеджеры и лидеры разработки не любят слышать об итеративной разработке продукта. Поэтому не упоминайте при них о небольших и легко контролируемых улучшениях. Правду говорят, что просить прощения легче, чем просить разрешения.
Когда изменения, связанные с большими затратами, оказывают влияние на работу других специалистов или влияют на общий план-график, целесообразно выработать соответствующие проектные планы и установить необходимый контроль. Например, если серьезное изменение критерия занимает месяц для проектирования, реализации и повторного тестирования потенциального решения, — и безусловно задержит работу остальной части проектной бригады — должно быть получено согласие руководства и спонсоров относительно планируемой работы. В иных обстоятельствах важна приверженность результату и достижение быстрого цикла разработки.
Критерии оптимизации. Для разработки ПИ проектной бригаде необходимы измеримые цели и критерии. Кроме того, установление критериев необходимо, когда имеют место изменения как решения проектных проблем или обнаруживается возможность оптимизации проектных решений. Изменения, приносящие незначительный количественный или качественный эффект, откладываются, в то время как изменения, приносящие существенные выгоды пользователям, оцениваются более серьезно.
Общие критерии для восхождения на "вершину" разработки сложных продуктов должны быть четко определены и поняты. Осмыслив их сущность, руководство и разработчики должны принять критерии. Согласие выходит за рамки внешнего принятия критериев и означает искреннюю личную приверженность разработке всей проектной бригады.
По одежке протягивай ножки. Некоторые проблемы не поддаются коррекции. Примером может быть ситуация, когда у пользователей имеются ожидания по поводу того, как программа должна работать — что на самом деле является нелогичным, нереальным или неосуществимым.
Полезное правило. Вопросы, связанные с ожиданиями, лучше раскрывать как можно раньше.
Методы совместной разработки. Поддерживать высокий уровень участия и активности пользователей в процессе отбора результатов и потенциальных решений по-прежнему остается полезной практикой применительно к итеративной разработке.
Важно знать, когда начинать (переработка). Проектирование часто заходит в тупик. Если локально оптимизированный проект не дает желаемых результатов, он отбрасывается. В противном случае, неудачный проект уточняется и шлифуется — затрачиваются усилия, которые заведомо не приведут к безупречной разработке. Каждая проектная компонента оценивается по отношению к критерию достаточного "совершенства", чтобы определить, сохранить ли ее в проекте. Если существующий подход не приводит к безупречному проекту, отбросьте его. В море проектных альтернатив довольно других рыб.
Опасности локальной оптимизации. Когда цель— покорение вершины, не тратьте слишком много усилий на покорение предгорья! Неоптимальный подход используется тогда, когда взбираются на предгорье проекта продукта (например, итеративная разработка функций продукта, которые играют незначительную роль для продукта в целом). Важная часть восхождения— понять различие между предгорьем и горой, а затем приложить максимальные и эффективные усилия для восхождения на вершину.
Важно знать, когда остановиться. Прежде чем начать, следует понять, когда остановиться. Итеративный подход— средство достижения цели, и трудно предсказать, сколько и какой продолжительности итераций потребуется для достижения цели. Рейтинг пользовательской удовлетворенности большинства продуктов показывает отметку где-то чуть выше нейтрального значения. Покорение вершины достигается за счет организованной, целенаправленной и самоотверженной работы руководства и технического персонала. Поскольку большинство конкурентов проводят итеративное проектирование на основе создания прототипов, количество необходимых итераций продолжает расти.