Методологии разработки ПО: RAD | GeekBrains — образовательный портал

Почему быстро?

Методология RAD требует, чтобы работающие прототипы создавались максимально часто. Продолжительность одного производственного цикла — от выработки требований до демонстрации пользователю (то есть одной итерации) — от одного дня до трех недель.

Во многих случаях разумным вариантом будет разделить приложение на функциональные модули, каждый из которых можно создавать и тестировать отдельно. Модули разрабатываются параллельно разными командами, но по общей схеме: от простых прототипов к более сложным, с регулярным контролем со стороны заказчика. В конце работы или каждой итерации модули соединяют в цельное программное решение.

Полезны инструменты автоматизации разработки — они помогают переводить пожелания пользователя в формализованные требования и спецификации, на основании которых формируется модель программы.

Почему дешево?

Деньги — странный предмет: вот они есть, а вот их нет. Бывает, что их не хватает, и приходится прерывать разработку, когда написана еще далеко не вся запланированная функциональность. Что получит заказчик в этом случае?

Если разработчик использует методологию Waterfall, то техническое задание и спецификации на программу он получает в самом начале работы. Какую из задач решать в первую очередь, а что оставить «на десерт», решает сам разработчик — при этом не всегда четко понимая, что для пользователя важно, а что не очень.

При Rapid Application Development пользователь сам решает, что ему требуется в первую очередь, и постоянно получает все более функциональные прототипы — то есть, фактически, работающие версии программы. Если финансирование внезапно иссякнет — пользователь не останется у разбитого корыта.

Разработка идет быстро, и заказчик получает программу существенно раньше — а это и экономия финансов.

Почему качественно?

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

Advantages of rapid elearning

Rapid eLearning development is the best way to get time-critical training out to your staff. It may not be suitable for every situation, but it can work perfectly for an emergency project, as when you urgently need to train your staff on a new product or service.

Rapid eLearning software allows organizations to build and roll out eLearning modules in a matter of weeks rather than months, and a course can often be developed by just one person who doesn’t necessarily need to be a learning and development professional.

Here are some more benefits of rapid elearning:

  • Decreased development time
  • Reduced development cost
  • Rapid response to organizational needs
  • More efficient use of subject matter experts
  • Easy updates and maintenance
  • Readily accessible ‘just in time’ on most devices

How to create a rapid elearning course

Before you begin a project, it’s important to make sure that everyone involved has the same understanding of rapid eLearning and is working with the same accepted method. The steps below outline exactly what you need to be successful in creating a rapid eLearning program.

Step 1. choose a course dev tool

A variety of software programs, known as rapid eLearning tools, are available to help you create learning content rapidly. These tools allow you to build training courses without programming knowledge. They often come with pre-made templates, themes, and other interactive assets.

It can be helpful to research different rapid authoring solutions before you start your project. Your choice of an authoring tool may be the single biggest success factor in developing rapid eLearning – choosing the wrong one can add weeks to your timeline.

For example, iSpring Suite is perfectly designed for rapid eLearning development with a workflow that focuses on fast course authoring and eliminates the need for manual configuration. It is fully integrated with PowerPoint. So, if you’ve ever created a PPT presentation, iSpring Suite will feel intuitive to you.

You’ll be able to build your first course immediately, with no learning curve. And if you already use PPT slides as a learning resource, you can transform them into online courses in a couple of clicks. iSpring will import your content complete with all on-screen animations and transitions ready to go.

This is an example of an online course you can create in iSpring Suite with no prior training:

It’s also important that your software provides standard templates that you can easily customize to save you development time and costs. As for iSpring Suite, it provides a range of ready-made interaction templates for creating glossaries, timelines, catalogs, references, and FAQs, as well as quiz question templates — from must-have multiple-choice to matching, sequencing, and drag-and-drop.

See what a quiz built in iSpring Suite looks like:

Courses created with iSpring are fully responsive and automatically adapt to mobile devices. By the way, responsiveness is another important factor to consider when selecting an authoring tool. It will free you from investing your time and effort in developing different versions of courses for various devices.

No matter what type of tool you select, make sure it fits the main criteria for rapid course development covered above.

Step 2. do the research and structure a course

Here you should identify your learning objectives and plan your course structure by module > section > topic, or whichever your preferred taxonomy is.

At this point, your SMEs should be heavily involved. Ideally, your SMEs will be leading the project and providing or creating the course content themselves. If they are not heading the project, you should be in contact with them at least once a day and getting timely feedback from them.

Remember that your SMEs are experts for a reason – they are highly experienced and in demand. So helping to plan their time is also a good idea to ensure that you can get what you need from them.

Step 3. gather the content

Now it’s time to gather the content that you identified in step 2. Whether this is mainly the responsibility of the SME or it’s down to you, it’s best to establish a quick means of collaborating and reviewing content so it can be signed off and ready for development.

The content itself is probably in several formats including text or slides, videos, audio files and images, and infographics – so it can be a pain to organize all this in a way that facilitates a rapid, collaborative working process.

There are many different tools that can help you do this, and it all comes down to what works for you and your team and the SMEs. Some tools we like to use in the rapid eLearning content gathering stage include:

Step 5. add additional modules and content

Once you have your basic content in the authoring tool, you can think about adding different types of course content, for example:

  • Video: Embedding video in your rapid eLearning is a quick way to present a topic – the process of adding and editing video is usually made very easy by today’s authoring tools.
  • Assessments and knowledge checks: These are great as they help to test your learners’ knowledge and can typically be easily made from templates and quiz builders.
  • Dialog simulations: Breaking up the course with this kind of content is a nice way to develop your learners’ conversation and sales skills. 

This is an example of a dialog simulation created with iSpring Suite:

Step 6. publish and share

So your course is finally ready – now you need to decide how you want to publish and share it. You may have an organizational LMS if you want to track the learning. Or you may be offering this rapid eLearning course more informally, for example, via the Web or a company intranet page.

However you want to offer your course, your authoring tool should be able to package it up in whichever format you prefer – SCORM or HTML5, for example. Publish your course to HTML5 to let your learners view it in any browser and on any mobile device. Or create a SCORM package if you want to upload your course to the LMS and get detailed statistics on learners’ results.

Top 23 rapid application development platforms in 2021 — reviews, features, pricing, comparison — pat research: b2b reviews, buying guides & best practices


What is rapid elearning?

The term ‘rapid eLearning’ was first coined in a 2004 report by Bersin and Associates. No clear consensus was reached by industry experts and thought leaders on exactly what it means, so it has been interpreted in a number of different ways. The definition we will use is:

‘The software, tools, and processes used to quickly create eLearning content.’

This definition is short, neat, and perfectly sums up what rapid eLearning development aims to achieve.

When to use a rapid elearning approach

While rapid learning is an amazing approach that can save you tons of time and money, it is not right for every type of eLearning project. There will always be times when more complex topics or projects require expert development. For example, software simulations or flight simulations that require multiple complex interactions are not suited to a rapid approach.

Instructional designers are qualified to create more complex content in these situations and this is where more traditional eLearning styles and tools that allow for heavy customization and interactions may be a better choice.

So, before you start a rapid eLearning project, you need to ask a few questions:

  • What is the expected development timeframe? If it’s less than 4 weeks, this is a good fit.
  • What is the project’s budget? If your department has a sufficient learning budget, you may opt for a more custom approach to course design, but if budgets are tight, rapid eLearning is the obvious choice.
  • Is there any pre-existing content? What form is it in? If there is legacy content in formats that are easy to repurpose, like texts or slides, this is a great indicator.
  • Is there an SME available with sufficient time to contribute to the project? Unless you are able to research or verify all the content yourself, an SME is a must.
  • Which authoring tool is best suited for the project? This is a crucial choice, as there are lots of reasons to choose rapid course development, but you’ll need to have rapid eLearning software to really change the game.

Быстро, качественно, дешево — выберите три из трех

Три кита, на которых покоится RAD, — это скорость разработки, качество программного кода и дешевизна. Да, это та самая методология, которая предлагает не выбрать два пункта из трех, а получить все сразу.

Инструментарий rad

Методология RAD еще с конца 1980-х была нацелена на использование новейших технологий ускорения разработки — и этот фокус на инструментах автоматизации по-прежнему актуален. 

Средства автоматизации разработки программ (Computer-Aided Software Engineering), или CASE-инструменты — это программные продукты для проектирования приложений. Такая система позволяет быстро создать модель программы, а затем автоматически сгенерировать программный код. Получается прототип — запускаемый модуль, который можно продемонстрировать заказчику.

Когда мы рады rad’у, а когда не рады

У методологии RAD есть и преимущества, и недостатки, а также области применения, в которых она показывает себя лучше или хуже. 

Эффективные варианты применения RAD

  • Если проект легко делится на независимые или слабосвязанные модули. Разработку в таком случае можно вести параллельно, несколькими командами, каждая из которых будет собирать прототип только одного модуля. В конце итерации или всей работы над программой модули объединяют в цельное приложение. 
  • Если требования к программному обеспечению быстро меняются. RAD — отличный выбор, когда заказчик понимает, что программа нужна как можно скорее, но к концу работы над ней часть спецификаций наверняка изменится.
  • В условиях ограниченного бюджета. RAD гарантирует, что заказчик получит продукт, выполняющий поставленные задачи, даже если внезапно закончатся деньги.
  • Когда у пользователя нет ясного представления, как должен выглядеть и работать продукт. Поскольку программу создают небольшими итерациями, во время которых спецификации и требования постоянно уточняются, в итоге заказчик получает продукт, соответствующий его пожеланиям. Но лучше в общих чертах заранее сформулировать бизнес-цели и задачи для приложения.
  • Когда у вас есть коллектив хороших разработчиков и дизайнеров. Задача RAD — быстро создать качественный продукт. А это могут только профессионалы.
  • Если пользователь готов активно участвовать в проекте на протяжении всей работы — обсуждать нововведения и функциональность, тестировать прототип, давать обратную связь. Если у заказчика не хватает на это мотивации, стоит попробовать другие модели — например, Waterfall, где пользователь только формулирует ТЗ или спецификации. 

Преимущества RAD — кратко

  • Разработка выполняется быстро и дешево.
  • RAD обеспечивает приемлемый для пользователя уровень качества.
  • Пользователь получает в итоге именно ту функциональность, которую хочет.
  • Пользователь может оперативно внести изменения в проект.
  • Функциональность, которая нужна заказчику «еще вчера», можно разработать в первую очередь, и использовать, даже если остальные части программы еще не готовы.

Недостатки RAD

  • RAD применима для больших команд.
  • RAD зависит от вовлеченности заказчика в работу. Если он не может принять участие в очередном обсуждении проекта, работа может приостановиться.

RAD уже не молодая методология — ей слегка за 30, — но она по-прежнему используется в разработке программного обеспечения и сдавать свои позиции не собирается. Ведь для методологии главное — не возраст, а эффективность. 

Меньше слов, больше дела!

Идея RAD зародилась в 1980-х годах как альтернатива устаревающей методологии Waterfall, о которой мы уже писали. Каскадная модель программирования уже тогда воспринималась как перегруженная формальностями и недостаточно гибкая. Заказчик выдавал разработчику техническое задание и не видел результата до тех пор, пока программа не «сходила с конвейера» уже готовой, — и ожидания пользователя зачастую не оправдывались. Продукт мог оказаться слишком сложным, неудобным, а мог и устареть за время разработки.

В каскадной модели на ранних этапах работы проводится тщательное планирование, но это не помогает предусмотреть все риски и сложности. Поэтому проект дорожает, а время — уходит впустую.

В 1988 году американский инженер-программист Барри Боэм (Barry Boehm) опубликовал статью «Спиральная модель разработки и совершенствование программного обеспечения», в которой предложил создавать не цельную программу, а выпускать ряд прототипов, каждый из которых содержит дополнительную или расширенную функциональность по сравнению с предыдущим.

Идея оказалась перспективной. Ее проработал специалист IBM Джеймс Мартин — в 1991 году вышла его книга «Быстрая разработка приложений» с изложением оригинальной методики применения RAD или Rapid Application Development. Спустя два года Джеймс Керр и Ричард Хантер написали книгу «Внутри RAD: как построить полностью функциональную систему за 90 дней или меньше», где проанализировали подводные камни и возможности, которые они выявили при планировании и реализации успешного проекта RAD.

Эти книги заложили фундамент для практического применения RAD, и с тех пор эта методология остается в арсенале IT-разработчиков.

Нарисуйте мне программу

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

Пользователь и разработчик смотрят на программу с разных сторон: снаружи и изнутри. Заказчик зачастую хорошо понимает, что именно он хочет получить, но не очень ясно представляет, как этого достичь. Программист, напротив, отлично разбирается в устройстве программы, но не имеет четкого представления, что нужно пользователю.

RAD предлагает вести разработку так, чтобы заказчик мог увидеть практические результаты на самых ранних этапах — и скорректировать техническое задание, если это будет необходимо. Очередной цикл разработки начинается не раньше, чем пользователь оценил результаты предыдущего.

Изначально программист создает приложение в черновом варианте. Это могут быть наброски интерфейса и несколько пунктов меню. Если заказчика устраивает первый прототип, программа дорабатывается: добавляются новые элементы интерфейса, функциональность. С каждой итерацией приложение обрастает возможностями, и пользователь постоянно уточняет требования и задает вектор развития.

Методологию быстрой разработки RAD можно сравнить с работой художника. Сначала живописец делает эскиз. Потом создает черновой вариант картины. Затем он начинает прорабатывать элементы, добавляет детали, исправляет недочеты. Разумеется, не каждый заказчик способен по первому наброску представить себе, как будет выглядеть готовая картина, — возможно, он вообще не имеет понятия о перспективе или композиции.

Но по крайней мере художнику не придется переписывать весь холст — ведь к завершению работы уже не окажется, что клиент перепутал натюрморт с пейзажем: «Нет-нет, я имел в виду сельский вид, а не корзину с фруктами!» Куда проще внести исправления в эскиз, чем в завершенное полотно.

RAD гарантирует, что в результате заказчик получит именно то, что ему нужно, — если в ходе разработки он последовательно одобрял каждый шаг, добавленные в проект детали и функциональные модули. 

От одноклеточного к развитому: эволюция программы

Разработка приложения по методологии RAD проходит в несколько этапов. 

Первый — анализ и планирование. Здесь определяются цели и задачи проекта — что и для чего будет делать приложение. Совместными усилиями заказчик и разработчик выявляют риски, устанавливают сроки и бюджет, определяют ключевые моменты разработки.

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

В начале очередного цикла разработки заказчик и программист вместе формулируют требования, которым должна соответствовать очередная версия. Преимущество RAD в том, что не надо заранее продумывать каждую мелочь: сначала разрабатывается самая общая концепция, которая на следующих итерациях будет дополняться и уточняться.

Затем в дело вступают программисты. С помощью инструментов CASE они воплощают требования в виде модели, создавая очередной прототип. Его показывают пользователю и получают обратную связь. Уточняя пожелания и требования к программе, заказчик фактически руководит разработкой.

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

Как только заказчик дал обратную связь, цикл начинается заново. Вырабатывается план на следующую итерацию. Если пользователя что-то не устроило в прототипе, на новом витке цикла изменения откатывают назад и реализуют альтернативный вариант.

Если заказчик принял прототип — уточняем требования к функциональности, прорабатываем ее более детально, планируем новую. Обговариваем визуальные элементы и интерфейсы.

От прототипа к прототипу программный продукт приобретает вид завершенного приложения. Итерации выполняются, пока не будут реализованы последние требования.

Когда моделирование завершено, начинается конструирование: автоматически сгенерированный код дорабатывается и совершенствуется. 

Финальный этап разработки — переключение. Готовый программный продукт тестируют, развертывают на пользовательских машинах, конвертируют информацию в новый формат или «заливают» в новые базы данных, подготавливают документацию и обучают операторов работе в системе.

How often do your courses get updated on current trends? if a course is updated, would we get notified and be able to download the update for free? or would there be an update fee?

It depends on the topic. For example, the universal courses we offer surrounding email, voicemail, and the like do not typically require updates (since we do not cite specific policies, laws, or regulations). However, for our regulatory, compliance, or dated material, yes, we do a periodic review to make sure we are keeping the content current.

Final thoughts

So that wraps up this look at rapid eLearning. We hope you picked up some tips and tricks and you’re now keen to try a rapid development approach in your next eLearning initiative.

Have you developed rapid eLearning before? If so, what tools did you use and how were the results? Did you face any problems with the rapid development process? We would love to know your thoughts in the comments below.

Оставьте комментарий