- •Глава 14
- •Подготовка к проведению оценки
- •Продолжение обсуждения проекта
- •Глава 15
- •Последующий анализ
- •Быстрый цикл разработки и оптимизация
- •Организационные и технические аспекты
- •Часть 3
- •Глава 16. Высокоуровневое проектирование (семантика и структура).
- •Проектирование поведения рабочего
- •Инсталляция, печать и другие системные функции
- •Глава 17
- •Подходы к спецификации
- •Спецификации в стиле минимализма
- •Глава 18
- •Трудно предсказуемые факторы
Организационные и технические аспекты
Необходимо добиваться реальной приверженности итеративному подходу как методологии. Что еще более важно, должна существовать реальная приверженность достижению результатов по отношению к целям создания продукта.
Приверженность руководства и технического персонала. Руководство и технический персонал разработки продукта должны осознавать, что разрабатывается и почему. Должна существовать реальная приверженность выполнению итераций для проекта ПО до тех пор, пока требования заказчика (функции, ПИ, не интерфейсные компоненты, производительность и т.д.) не будут удовлетворены. В качестве метода разработки итеративный подход будет продолжать использоваться на этапе реализации продукта.
Персонал, разрабатывающий продукт и прототипы. Если бригада по разработке прототипов и бригада реализации — разные команды, персонал разработки продукта должен быть полностью интегрирован и участвовать в выполнении итеративных шагов проекта. В противном случае, бригада разработчиков будет вынуждена применить методы реконструкции требуемого проекта интерфейса и не интерфейсных компонент для последующей реализации продукта. Этот метод работает не очень хорошо. Альтернатива заключается в том, чтобы связать бригаду прототипирования обязательством в процессе разработки вплоть до поставки продукта, чтобы избежать потери знаний и поддержать подотчетность.
Поддержка инфраструктуры. Многие конкуренты утверждают, что выполняют тысячи итеративных циклов применительно к функциональному прототипу ПО. Прототип воплощает ПИ и проект не интерфейсного ПО. Функциональный прототип связан со следующими действиями.
Ежедневное распространение среди широкого круга участников проекта.
Ежедневная критика.
Ежедневные исправления.
Переход от одной итерации к другой по мере превращения прототипа в продукт.
Невозможность поставки без удовлетворения всех требований.
После начала работ по созданию прототипов должна быть введена соответствующая инфраструктура.
Думать наперед. Помните, что прототип— всего лишь иная форма программного обеспечения, которое, однако, также подвержено изменениям. Не всегда обязательно следовать формальному процессу разработки, но бессистемное хакерство также неприемлемо. Особо выделите элементы, которые участвуют в процессе итеративной разработки как прототипа, так и продукта.
Проектирование и разработка с мыслью об итеративном подходе. В процессе проектирования и разработки имейте ввиду итеративный подход, думайте о том, как сделать внесение изменений в проектные решения и программный код более легким и эффективным. Общий подход состоит в разделении (сегментировании) интерфейса от проектных решений и программного кода для компонент, отличных от интерфейса.
Проектирование и разработка с мыслью об альтернативах. Оценка многих проектных альтернатив — это наиболее перспективный вариант разработки. Стремитесь облегчить процесс добавления проектных альтернатив. Один из подходящих методов — введение переключателей функций, доступ к которым легко обеспечить посредством пользовательского интерфейса.
Эволюционная и наращиваемая разработка (против "большого рывка"). Начинать разработку следует с малого и постепенно наращивать ПО, реализуя в первую очередь наиболее важные и наиболее уязвимые функции. Поскольку вложения средств в реализацию на ранней стадии разработки невелики, работы по наращиванию изменений эффективнее, чем подходы по разработке всех функций сразу. Эволюционные изменения, направленные на усовершенствование проекта, также должны постоянно контролироваться с помощью измеримых и объективных оценок со стороны конечных пользователей.
Вопросы. Как бы вы стали проектировать и разрабатывать ПО:
если бы вам сказали, что на это потребуется более 100 итеративных циклов проектирования и программирования?
если вы уверены, что для ПИ и не интерфейсных функций потребуется рассмотреть более 25 основных альтернативных вариантов?
Эффективность итеративной разработки зависит от разработчиков. Итерации могут работать!
Для одного выводимого на рынок продукта первоначальные лабораторные испытания практичности показали весьма посредственные результаты, т.е. порядка 4,5 баллов по семи балльной шкале. После нескольких незначительных итераций оценка практичности повысилась с 5,2 до 6 баллов.
Оценка одного продукта, который не был выпущен, повысилась за одну итерацию с 5,5 до 6,3 балла.
Урок заключается в том, что уровень практичности и удовлетворенности пользователей можно существенно повысить за счет усердной и целенаправленной работы, приверженности результатам и за счет внесения изменений, позволяющих нарастить возможности продукта. Если рациональные изменения вносятся на ранней стадии разработки продукта, можно добиться значительных результатов, касающихся практичности и удовлетворенности.
Продолжение обсуждения проекта
В вашем распоряжении отклики пользователей после начальной оценки практичности, касающиеся концептуальных решений для проекта. Было организовано и проведено независимое тестирование, и у вас имеются результаты процедур эвристического анализа и сквозного контроля. Менеджер проекта намерен просмотреть результаты
одновременно с вами. Он заметил, что высшее руководство желало бы провести брифинг послезавтра. В вашем распоряжении около четырех часов для анализа результатов, оценки их соответствия требованиям и критериям, а также для выявления проблем и потенциальных решений.
Кроме того, вы должны взять на заметку следующие вопросы.
Изменения, которые необходимо внести в продукт, чтобы удовлетворить требования и разрешить все проблемы.
Изменения к проекту, которые могли бы существенно улучшить продукт по сравнению с конкурирующими продуктами.
Аспекты ПИ, которые следует оставить без изменений, и аспекты, подлежащие коррекции и усовершенствованию.
Последствия принятых решений для календарного плана проекта, если таковые имеются.
Обоснуйте ваши ответы.
Продолжайте исследование через Internet.
Вопросы?
Ссылки
Shneiderman В. Designing the User Interface, Addison-Wesley: Reading, MA, 1987.
Melkus L.A., and Torres RJ. Guidelines for User of a Prototype in User Interface Design, Human
Factors Society Symposium, 1988.
Torres RJ. Graphical User Interfaces: Iteration, Share 85, Feb. 1995.