Модели разработки и тестирования ПО: прототипирование

При использовании прототипирования команда разработчиков утверждает ряд требований и элементов дизайна и создаёт несколько макетов и прототипов готового программного обеспечения. Хотя часть этих прототипов уже на этом этапе может выглядеть, как полноценный продукт, во многом они напоминают «пилоты» сериалов: всё выглядит неплохо, но до конечного результата ещё очень далеко.


Когда создаётся прототип, разработчик пишет код, выдерживающий минимальное соответствие техническим и дизайнерским требованиям. Не осуществляется никаких усилий ни для согласования со стандартами кодирования, ни для создания простейшей системы контроля ошибок, ни для интеграции с другими базами данных и отдельными модулями. В результате, объединить подобный прототип с прочими необходимыми элементами выйдет куда дороже, чем создать полноценный модуль с нуля, используя финальный дизайн-документ.
По этой причине прототипы никогда не используются в готовом продукте и обычно просто устраняются сразу, как только в них пропадает необходимость, чтобы предотвратить их использование конечным пользователем по ошибке.

Преимущества

  • Дизайнеры и разработчики могут получить отклик от пользователей на начальных стадиях проекта
  • Клиент и разработчик могут убедиться, что программное обеспечение соответствует спецификации, на основе которой идёт разработка
  • Менеджер проекта может оценить затрачиваемое время и определить крайние сроки и вехи

Недостатки

  • Часто клиенты заблуждаются, решив, что пара мелких изменений в прототипе более чем удовлетворит все их нужды. Они не осознают, что во время стремительной разработки прототипа не было осуществлено никаких мер для обеспечения качества продукта
  • Разработчики могут переоценить важность прототипа и подвергнуть риску конечный продукт. Например, применить малоэффективные алгоритмы или неподходящие языки программирования, которые хорошо показали себя при разработке прототипа, но не подходят для полноценной работы над проектом. Чаще всего это происходит из-за лени и излишней надежды на казалось бы более простые методы кодирования
  • Прототип мало поможет в суде в случае, если клиент подаст иск, решив, что разработчик не выполнил оговоренные контрактом требования. По этой причине прототипы чаще всего используются только при создании ПО для нужд компании

Когда использовать прототипирование

  • Прототипирование очень эффективно для анализа и разработки онлайн-систем
  • При этом системы, в которых предусмотрен минимум пользовательского интерфейса (например, системы для пакетной обработки данных и расчётов), в прототипах не нуждаются. Слишком много программного кода необходимо написать для реализации первичных функций и потенциальная польза от прототипа слишком мала
  • Прототипирование замечательно себя показывает при разработке человеко-машинных интерфейсов

По материалам Testing Excellence

comments powered by HyperComments