Проектирование интерфейса как часть разработки ТЗИсточник: info-system
Внедрение систем автоматизации бизнеса, как знает любой вовлеченный в эту область специалист, отнюдь не является легким делом. Если само создание системы, вообще говоря, технически не очень сложно (к примеру, нельзя сказать, что среднестатистическая система наполнена сложнейшими алгоритмами), то внедрение требует от автоматизатора недюжинной квалификации, редкого упорства и изворотливости. При этом корни многих проблем находятся в техническом задании. Как говорится, «что задумали, то и сделали», но потом иногда оказывается, что задумали-то и неправильно. Для решения проблем, возникающих при создании ТЗ, а проявляющихся при внедрении, придумано множество технологий и методов, однако само их количество свидетельствует о том, что ни один метод к полному успеху не приводит. Кроме того, многие методы имеют принципиальный недостаток - они увеличивают объем части работы, пусть и ради экономии на другом этапе, и требуют серьезных инвестиций в обучение сотрудников (характерный пример - RUP). Существует, однако, подход, который не требует особой квалификации сотрудников, значительно облегчает внедрение, не увеличивая объем работ по разработке ТЗ Сущность подхода может быть описана одной фразой - проектирование интерфейса не есть часть процесса разработки, а часть процесса создания спецификаций на систему . Здесь необходимо сделать два важных уточнения. Во-первых, интерфейс всё равно будет разработан (практика показывает, что заказчики почему-то неохотно оплачивают функциональность без интерфейса). Во-вторых, от проектирования интерфейса ничего особого не требуется - на него могут быть выделены те же ресурсы, что и в случае обычной разработки, равно как и получиться он может таким же. Авторам, зарабатывающим себе на жизнь разработкой эргономичных интерфейсов, неприятно это говорить, но интерфейс может быть даже не эргономичным, все равно внедрение будет облегчено; разумеется, в случае эргономичного интерфейса внедрение будет ещё более простым, но такой интерфейс дороже и дольше делается. Предлагаемый подход позволяет решить следующие проблемы:
Таким образом, есть объективная польза в том, чтобы рассматривать проектирование интерфейса не как стадию разработки, а как стадию создания ТЗ. Но как это сделать? На первый взгляд, задача кажется трудноразрешимой, частично с организационной, частично с технической сторон. Сначала об организационной стороне. На первый взгляд заказчика трудно убедить отказаться от мысли, что делать что-то «реальное» надо сразу после подписания договора. Однако практика показывает, что промежуточные наглядные результаты работы над системой, а именно прототипы интерфейса, продемонстрированные уже на второй день работы, а не через несколько недель, приводят клиента в благодушество. В отличие от обычного ТЗ, работа над которым заказчику реально не видна («ну что там, пара пунктов добавилась») прототипы интерфейса легко понятны и прогресс в работе явно заметен. Вторая организационная проблема связана с необходимостью подписывать два договора: на создание ТЗ (читай - интерфейса) и на разработку функциональности системы. Причем подписание второго договора откладывается на определенный срок, необходимый для разработки интерфейса, что растягивает проект во времени. В принципе, эта проблема неразрешима, но, с другой стороны, здесь многое зависит от её восприятия: да, договора два, но зато второй договор получается значительно более точным (уже имея интерфейс, легче оценить трудозатраты). Техническая проблема связана с трудностями прототипирования. В обычном режиме работы интерфейс создается уже в средстве разработки, создавать же прототип таким образом нерентабельно. Интерфейс создается через множество итераций, а переделывать уже сделанное уже дорого. Сравнительно недавно появились специальные средства для прототипирования интерфейса (например, Norpath Studio), но пока они довольно сырые. Выход - использование неспециализированных графических редакторов. Ещё несколько лет назад основным таким редактором являлся MS PowerPoint, сейчас же наиболее удобным следует признать MS Visio. Сложные экранные формы, впрочем, до сих пор удобнее просто рисовать на бумаге. И, наконец, главная проблема. Удлинение процесса разработки ТЗ часто воспринимается самими разработчиками как безусловное зло - привычка сначала делать, а уж потом думать, традиционно сильна в российском IT-бизнесе. Увы, изменить этот обычай может только «опыт, сын ошибок трудных». Пока, во всяком случае… Конечно, проектирование интерфеса на этапе разработки спецификаций системы не является панацеей. Такой подход не позволяет улучшить качество разработки в принципе, например, он вовсе не уменьшает количество ошибок программирования. Более того, он не всегда применим. Интерфейс сложной системы невозможно с самого начала спроектировать полностью: придется сначала делать работающую бета-версию и окончательно править интерфейс уже на её основе. Кроме того, во многих проектах из-за не зависящих ни от кого причин не получается растягивать процесс создания ТЗ (заказчик хочет увидеть какие-нибудь результаты уже завтра). Однако, учитывая низкие «входные» требования к применению предложенного метода (несравнимые, например, с волокитой и бюрократией, обусловленной использованием UML), проектирование интерфейсов на стадии подготовки спецификаций почти всегда является крайне успешным методом решения проблем внедрения. |