1.4. Инструменты, которые препятствуют новым идеям
Создание хороших интерфейсов требует большой и напряженной работы. Считается, что такие известные на рынке инструменты для построения интерфейсов, как Visual Basic и Visual C++, позволяют снизить стоимость разработки и ускорить ее внедрение. Несмотря на все свои полезные свойства, эти инструменты нечасто будут упоминаться в этой книге. Причина состоит в том, что они основаны на традиционных парадигмах и, следовательно, слишком ограничивают ваши возможности. Аналогичным образом принципы создания интерфейсов в таких системах, как Macintosh или Windows, а также часть подходов, предлагаемых в различных книжных изданиях, посвященных разработке интерфейсов, иногда оказываются явно ошибочными – зачастую из-за корпоративной необходимости поддерживать совместимость с ранними версиями интерфейса, а также из предубеждения, что пользователи непременно отнесутся с неодобрением к попыткам отойти от старых, привычных принципов построения интерфейсов. Действительное усовершенствование интерфейсов возможно, если подходы к их разработке будут серьезно пересмотрены. При этом разработчику необходимо найти компромисс между оправданным применением уже устоявшихся парадигм, которые облегчают изучение интерфейса пользователем, и новыми подходами, которые позволяют сделать интерфейс более удобным и практичным. Конечно, в ситуации, когда часто меняется состав группы разработчиков или круг потребителей продукта, стремление придерживаться известных подходов, возможно, было бы лучшим решением.
1.5. Разработка интерфейса как часть общего цикла разработки
Применяемые сегодня методы разработки проектов зачастую не считаются с необходимостью разработки интерфейса. Это упущение может быть следствием того, что специалисты по разработке интерфейсов привлекаются к проекту слишком поздно, когда возможности улучшения качества взаимодействия между пользователем и продуктом большей частью уже потеряны. Интерфейсом удобнее всего заниматься именно на начальных стадиях разработки. И если специалисты по интерфейсам привлекаются уже после того, как программное обеспечение спроектировано и определены его инструменты или когда разработка программы уже почти завершена, то их рекомендации могут потребовать переделки всей выполненной работы, что, естественно, является неприемлемым. Когда бюджет проекта уже исчерпан и рабочий план почти завершен, перспектива отказа от большей части или даже всего дизайна и готового кода, конечно, не может вызвать энтузиазма у менеджеров проекта. Так что даже в такой современной книге по управлению проектами, как «UML Toolkit» (Eriksson and Magnus, 1998), не говорится о необходимости рассматривать интерфейс уже на стадии анализа требований к проекту, которую авторы обозначают как первую фазу его разработки. Однако в действительности разработка интерфейса не должна откладываться до стадии технической реализации, которая в плане Эриксона и Магнуса является третьей фазой.