
Модели разработки и тестирования ПО: RAD-концепция
RAD-концепция (англ. Rapid Application Development — быстрая разработка приложений) олицетворяет подход к разработке, главная идея которого: «Попробуй, прежде чем купить». Теория состоит в том, что конечный пользователь может обеспечить куда более обширный фидбек, работая с готовой системой, чем тестировщик, строго связанный своей документацией. Работа согласно RAD-концепции обеспечивает куда более качественный конечный продукт, но такой успех обойдётся в значительное повышение стоимости разработки и ужесточение графика.
RAD-концепция стала возможна благодаря значительному развитию сред разработки ПО, которое позволило быстро изменять рабочие экраны и другие элементы интерфейса. Конечный пользователь имеет возможность работать с продуктом в режиме онлайн, вовлекаясь таким образом в процесс разработки. Стоит немного включить воображение — и значительная часть багов будет выловлена на ранних стадиях.
Другая сторона RAD-концепции проявляется в склонности конечного пользователя провоцировать расползание границ проекта. Ну, если разработчик так просто может сделать базовый рабочий экран, то ему должно быть также просто добавить виджет-другой. В большинстве провальных проектов, работающих согласно RAD-концепции, конечные пользователи и разработчики погрязли в бесконечном цикле мелких улучшений, который состоял из просьб пользователей добавить новые и новые фишки и попыток разработчиков все эти запросы выполнить. За всем этим теряется главная задача — создать полноценный полезный продукт.
По этой причине разработчики не используют чистый RAD-подход, используя вместо этого прототипирование, совмещённое с системой требований обычной каскадной модели. Разрабатываемые прототипы особо фокусируются на базовых элементах приложения, не обеспечивая интегрированный интерфейс. Эти прототипы используются, чтобы подтвердить соответствие требованиям и элементам дизайна, а формулирование дополнительных требований и добавление новых элементов интерфейса, которые не полностью поддерживаются средой разработки, чаще всего отклоняются.
Преимущества
- Rad-концепция уменьшает время разработки, а задействование ранее использованных компонентов позволяет существенно ускорить рабочий процесс.
- Все функции подразделяются на модули, с которыми работать гораздо легче.
- Большим проектам требуются высококвалифицированные инженеры.
Недостатки
- И конечный пользователь, и разработчик должны быть привержены желанию завершить работу над продуктом в сокращённые сроки. Если такого желания нет, проект провалится.
- RAD базируется на объектно-ориентированном подходе, и если возникают трудности с делением на модули, RAD может работать не очень хорошо.
По материалам Testing Excellence