Введение

Концепция разработки программного обеспечения

Быстрая разработка приложений (RAD), также называемая быстрым построением приложений (RAB), — это как общий термин для адаптивных подходов к разработке программного обеспечения, так и название метода быстрой разработки, предложенного Джеймсом Мартином. В целом, подходы RAD к разработке программного обеспечения уделяют меньше внимания планированию и больше – адаптивному процессу. Прототипы часто используются в дополнение к спецификациям дизайна, а иногда и вместо них. RAD особенно хорошо подходит (хотя и не ограничивается этим) для разработки программного обеспечения, определяемого требованиями к пользовательскому интерфейсу. Средства разработки графического пользовательского интерфейса часто называют инструментами быстрой разработки приложений. К другим подходам к быстрой разработке относятся адаптивные, гибкие, спиральные и унифицированные модели.

История

Быстрая разработка приложений стала ответом на процессы, управляемые планом, такие как метод анализа и проектирования структурированных систем (SSADM), разработанные в 1970-х и 1980-х годах. Одна из проблем этих методов заключалась в том, что они основывались на традиционной инженерной модели, используемой для проектирования и строительства мостов и зданий. Программное обеспечение по своей сути является иным артефактом. Программное обеспечение может радикально изменить весь процесс решения проблемы. В результате, знания, полученные в процессе разработки, могут быть использованы для уточнения требований и проектирования решения. Подходы, основанные на планировании, стремятся жестко определить требования, решение и план реализации, и их процессы препятствуют изменениям. Подходы RAD, напротив, признают, что разработка программного обеспечения – это процесс, интенсивно использующий знания, и предоставляют гибкие процессы, которые помогают использовать знания, полученные в ходе проекта, для улучшения или адаптации решения. Первая такая альтернатива RAD была разработана Барри Боемом и известна как спиральная модель. Боем и другие последователи RAD подчеркивали разработку прототипов вместо или наряду со строгими проектными спецификациями. Прототипы имели несколько преимуществ перед традиционными спецификациями:

Снижение рисков. Прототип мог проверить наиболее сложные потенциальные части системы на ранних этапах жизненного цикла. Это могло предоставить ценную информацию о реализуемости проекта и предотвратить выбор решений, которые окажутся слишком сложными или трудоемкими для реализации. Это преимущество – выявление проблем на ранних этапах жизненного цикла, а не на поздних – было ключевым достоинством подхода RAD. Чем раньше обнаружена проблема, тем дешевле ее исправить. Пользователи лучше умеют использовать и реагировать, чем создавать спецификации. В модели водопада было принято, что пользователь утверждает набор требований, но затем, увидев реализованную систему, внезапно осознавал, что дизайну не хватает каких-то критических функций или он слишком сложен. В целом, пользователи дают гораздо более полезную обратную связь, когда могут опробовать прототип работающей системы, а не абстрактно описывать, какой она должна быть. Прототипы могут быть полезными и развиваться в готовый продукт. Один из подходов, используемых в некоторых методах RAD, заключался в создании системы как серии прототипов, эволюционирующих от минимальной функциональности к умеренно полезной и, наконец, к завершенной системе. Помимо двух вышеупомянутых преимуществ, это позволяло пользователям получать полезные бизнес-функции намного раньше в процессе. Развивая идеи Барри Боэма и других, Джеймс Мартин разработал подход к быстрой разработке приложений в 1980-х годах в IBM и формализовал его, опубликовав в 1991 году книгу «Rapid Application Development». Это привело к некоторой путанице в отношении термина RAD даже среди ИТ-специалистов. Важно различать RAD как общую альтернативу модели водопада и RAD как конкретный метод, созданный Мартином. Метод Мартина был ориентирован на бизнес-системы, интенсивно использующие знания и пользовательские интерфейсы. Эти идеи были далее развиты и усовершенствованы пионерами RAD, такими как Джеймс Керр и Ричард Хантер, которые совместно написали основополагающую книгу по этой теме «Inside RAD», в которой описывалось путешествие менеджера проекта RAD, управлявшего и совершенствовавшего методологию RAD в реальном времени в рамках реального проекта RAD. Эти практики и другие подобные им помогли RAD завоевать популярность как альтернатива традиционным подходам к жизненному циклу системных проектов. Подход RAD также созрел в период пикового интереса к реинжинирингу бизнеса. Идея реинжиниринга бизнес-процессов заключалась в радикальном переосмыслении основных бизнес-процессов, таких как продажи и поддержка клиентов, с учетом новых возможностей информационных технологий. RAD часто был неотъемлемой частью крупных программ реинжиниринга бизнеса. Подход RAD к быстрому прототипированию был ключевым инструментом, помогающим пользователям и аналитикам «мыслить нестандартно» и находить инновационные способы радикального преобразования основных бизнес-процессов с помощью технологий. Большая часть уверенности Джеймса Мартина в RAD происходила из подразделения Information Engineering компании Dupont и его руководителя Скотта Шульца, а также их отношений с Джоном Андервудом, возглавлявшим компанию, специализирующуюся на разработке RAD, которая успешно реализовала множество проектов RAD в Австралии и Гонконге. Успешные проекты включали ANZ Bank, Lend Lease, BHP, Coca Cola Amatil, Alcan, Hong Kong Jockey Club и многие другие. Этот успех привел к тому, что Скотт Шульц и Джеймс Мартин провели время в Австралии с Джоном Андервудом, чтобы понять методы и детали, объясняющие непропорционально высокий успех Австралии во внедрении важных критически важных проектов RAD.