В этом блоге я совсем недавно упомянул о RAD. При поверхностном взгляде на эту методологию можно упустить ключевую деталь. Без нее окажется, что почти все сайты создаются по RAD.
— Как расшифровывается «RAD»?
— Rapid application development.
— Быстрая разработка приложений?
— Да.
— Сайт за два месяца — это ведь быстро?
— Достаточно быстро.
— Так значит все, кто делает сайт быстрее двух месяцев — RAD-разработчики. При этом большинство из них об этом даже не догадывается. Можно подсказать им использование звучной аббревиатуры в маркетинговых целях. Ха-ха!
Так где же зерно?
Идею с итерационным изготовлением прототипов легко вписать в любой проект: всё равно заказчику показывается несколько версий сайта. «Квалифицированная команда» и «толковый менеджмент» — также расплывчатые составляющие RAD.
Ключевой вопрос: «Почему сайт разрабатывается так быстро?»
Программисты быстро печатают? Работают по четырнадцать часов в сутки? А может, время экономится на стадии проектирования за счет ее исключения из процесса? Это всё не RAD.
По-моему самым ощутимым элементом RAD является активное использование специализированных инструментов. Понятие «RAD tools» тесно связано с «CASE tools», но не уверен, что это одно и то же.
Идеальная сторона методологии предполагает рисование диаграмм и разработку правил, из которых генерируются прототипы ПО. А потом полученный код лишь тонко настраивается. То есть всё проектируется настолько детально, что даже программа способна сгенерировать приложение по составленному описанию.
На практике генерация приложений из набора диаграмм сильно ограничена объективными причинами. Например, качественного CASE-софта мало, и он дорого стоит. Чтобы им пользоваться, нужно серьезно учиться. Да и работает он не всегда, как заявлено. Но дело движется в лучшую сторону.
В скором времени планирую рассказать о некоторых инструментах. В результате попробую собрать комплекс RAD tools для разработки сайтов.
А пока советую почитать статью «Rapid Application Development» на blueink.biz. Из нее можно, например, узнать о том, что такое «time boxing».
Дмитрий Сергеев, 22 года. Разрабатываю сайты на Drupal.
Reno Jimmy, 19.02.2007 09:40
Не всё так плохо с генерацией приложений. Тот же PowerDesigner из логической модели данных умеет делать физическую модель (схему таблиц бд), а потом и генерирует sql-запросы для экспорта структуры.
Получается, нарисовали модель предметной области, а программа из нашего рисунка делает бд. Конечно, сгенерированный sql иногда не учитывает особенности конкретных субд и запросы приходится править ручками, но эффект ощутим.