Приёмная комиссия 2024

Что такое экстремальное программирование?

Что такое экстремальное программирование?
Содержание

Экстремальное программирование — что это? Речь идет о новой методологии разработки программных продуктов в условиях ограниченного количества ресурсов, финансирования, кадров, других негативных моментах. Когда при этом требования к качеству, скорости создания ПО остаются неизменными или становятся выше, чем при благоприятных условиях.

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

Подберите программу обучения и начните учиться бесплатно

Оставьте заявку и мы откроем бесплатный доступ к вводной части обучения

Для чего нужно экстремальное программирование?

Популяризатором подхода Extreme Programming выступает Кент Бек, который выдвинул и оптимизировал его в середине 90-х годов прошлого века, пока работал над крупным приложением для компании Chrysler. Результатом наработок стало создание принципиально новой методологии XP. Подобный подход преследовал сразу 4 цели:

  1. Экономия времени. За счет оптимизации рабочего процесса разработчики могут выполнить проект с опережением сроков или успеть вовремя без ущерба качеству конечного программного продукта.
  2. Экономия кадровых, финансовых ресурсов. Суть — по-максимуму использовать имеющиеся ресурсы, оптимизировать процессы, чтобы затратить как можно меньше усилий. Благодаря подходу есть шанс обойтись малыми кадрами, грамотно распределив задачи между программистами команды.
  3. Повышение качества программного обеспечения. Методика XP предполагает постоянное тестирование продукта на всех этапах его создания. Благодаря чему появляется возможность поймать баги, неточности выполнения, ошибки. Исправить их на ходу и создать наиболее действенный, оптимизированный код. Что скажется на процессе, сроках последующей доработки проекта, а также скорости, качестве его выполнения на устройстве конечного пользователя. Позволит скорее использовать программный продукт без дополнительных затрат и усилий по коррекции, доработке.
  4. Выполнение требований конечного пользователя. Удовлетворение его потребностей. Поскольку команда общается не столько с заказчиком, который ставит задачу, направляет техническое задание. Сколько с будущими пользователями продукта, которые участвуют в обсуждении промежуточных результатов в качестве членов фокус-групп.

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

Кому подойдет подобный подход?

Экстремальное программирование подойдет нескольким категориям разработчиков:

  • Небольшим коллективам из нескольких человек. Если задание выполнимо для столь незначительного количества кадров.
  • Командам самостоятельных программистов, которые занимаются созданием собственных продуктов или работают как сторонние разработчики на аутсорсе, выполняют заказы для компаний, частных лиц.
  • Штатным разработчикам, специализированным IT-компаниям средней руки, если организация желает оптимизировать процессы создания программных продуктов, добиться экономии денег, времени.
  • Большим компаниям, организациям, для которых оптимизация рабочего процесса и тщательный контроль над ним — жизненно важный вопрос из-за обилия кадров. Возможной путаницы при постановке задачи, любых изменениях.

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

Экстремальное программирование подойдет в следующих случаях:

  1. Требования к системе недостаточно понятны или могут измениться.
  2. Разработчики обладают высоким профессиональным уровнем, квалификацией, необходимыми знаниями, ответственностью.
  3. Есть возможность быстро уточнять характер требований у заказчика. С другой стороны, контактировать с будущими пользователями программного продукта. Для целей оперативной, качественной разработки формируют специальные фокус-группы, которые плотно сотрудничают с членами команды. Работа с непосредственными пользователями играет основную роль.

В то же время, XP не подходит для решения вопросов проекта, если:

  1. Команда слишком велика, ее численно превышает 50 человек. Часть кадровых ресурсов не будет задействована. Большого смысла в экономии не остается. Есть возможность привлечь больше специалистов и польза от XP сводится к нулю.
  2. Объем работ четко определен и финансирование невозможно увеличить даже в минимальных пределах.
  3. Технические требования к конечной системе жестко регламентированы. Инициатива специалистов по программированию жестко ограничена или полностью исключена.
  4. XP подойдет при реализации большей части проектов самостоятельными командами, коллективами в рамках небольших частных фирм-разработчиков ПО.

Основные приемы

Суть методологии можно описать 12-ю принципами:

Тестирование

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

Исправление багов, если они появятся уже после перерыва и продолжения разработки.

Четкое планирование

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

Плотный контакт с заказчиком

Согласно философии extreme programming заказчиком выступает не тот, кто платит за работу, а конечный пользователь приложения, системы. Для эффективной работы требуется постоянный контакт с пользователями. Они участвуют в тестировании промежуточных версий. Тот же, кто оплачивает счета и ставит техническое задание, участвует в разработке как проверяющий конечного результата.

Парное участие

Особый способ организации рабочего коллектива. Над программированием системы работают пары специалистов за одним компьютером. Один занимается подготовкой самого кода, решением вопроса. Другой — следит за точностью выполнения, видит всю картину целиком. При необходимости пары меняются местами: один наблюдает и корректирует, другой занимается созданием, пишет код.

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

Повторяющиеся итерации

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

Рефакторинг или переработка кода

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

Ранний релиз конечного продукта

Сторонники XP стараются всеми силами сократить продолжительность разработки и как можно скорее выпустить первую версию системы. Это позволяет удовлетворять потребности бизнеса. Заказчик получает первые результаты (прибыль, оптимизацию рабочих процессов) гораздо раньше, чем при прочих вариантах разработки.

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

Простое проектирование

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

Достаточно набросать его по основным направлениям, а затем дополнять и дорабатывать по мере того, как задача становится четче. Благодаря этому, есть возможность сэкономить время проектировании, а также увеличить его эффективность.

Разработка метафоры системы

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

Жесткие стандарты оформления кода

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

Коллективная работа

Специалистам предоставляется значительная свобода. Каждый может вносить предложения поменять тот или иной фрагмент кода. Также несет ответственность за весь проект целиком.

Так удается повысить осведомленность специалистов, вовлеченность участников. С другой стороны, тут есть и свои подводные камни.

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

Как внедрить?

Чтобы внедрить XP требуется соблюдение нескольких условий:

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

Преимущества и недостатки

Среди преимуществ XP:

  1. Высокая скорость разработки. Оперативнее на 20−50% и свыше в отличие от стандартного подхода.
  2. Эффективность работы.
  3. Возможность решать рабочие задачи в изменяющихся условиях.
  4. Минимальные расходы ресурсов на доработку системы благодаря частым релизам, полноценному тестированию.

Минусы:

  1. Большая роль заказчика, конечного пользователя без которого работа будет недостаточно эффективной.
  2. Потребность в широкой инициативе.
  3. Необходимость в высокой квалификации программистов, которые участвуют в разработке по принципам XP.

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

Подберите программу обучения и начните учиться бесплатно

Оставьте заявку и мы откроем бесплатный доступ к вводной части обучения

Рекомендуем

alt

Всё для учебы доступно онлайн

Расписание, зачётку и домашние задания смотрите в приложении
Подберите программу обучения

ответьте на пять вопросов и узнайте, где будете учиться

Образование для карьеры
К каким профессиям вы более склонны?
ТехническимГуманитарнымТворческимМедицинским
Какой у вас уровень образования?
Без образованияШкола 9-11 классКолледжБакалавриатМагистратураАспирантура
Какой формат обучения вам подходит?
ОчноЗаочноОнлайнПо выходным дням
Интересует ли вас кредит на образование по ставке 3% в год?
ДаНет

Мы подобрали для вас программу обучения

Заполните форму, чтобы узнать больше о программе и наших предложениях

Подобрать программу и поступить

Политика конфиденциальности

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

Рамки Политики конфиденциальности

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

Нижеследующие правила описывают, как Университет «Синергия» обращается с любой информацией, относящейся к прямо или косвенно определенному или определяемому физическому лицу (субъекту персональных данных) (далее — «Персональные данные»), для целей оказания услуг с использованием Сайта.

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

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

Настоящая Политика конфиденциальности вступает в силу с момента ее размещения на Сайте, если иное не предусмотрено новой редакцией Политики конфиденциальности.

Контролирующие и обрабатывающие лица

Пользователи соглашаются с тем, что:

  • Пользуясь Сайтом, и принимая условия использования, опубликованные на Сайте, пользователь заявляет о своем однозначном согласии с обработкой его Персональных данных способами, описанными в настоящей Политике.
  • Обработка Персональных данных Пользователей осуществляется Оператором персональных данных — Университет «Синергия» (ИНН: 7729152149, ОГРН: 1037700232558).

С какой целью собираются эти данные

Имя используется для обращения лично к вам, а ваш e-mail для отправки вам писем рассылок, новостей тренинга, полезных материалов, коммерческих предложений. Вы можете отказаться от получения писем рассылки и удалить из базы данных свои контактные данные в любой момент, кликнув на ссылку для отписки, присутствующую в каждом письме.

Сбор Персональных данных

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

Обработка Персональных данных осуществляется не дольше, чем этого требуют цели обработки Персональных данных, изложенные в настоящей Политике (за исключением случаев, предусмотренных законодательством Российской Федерации). Университет «Синергия» может обрабатывать следующие Персональные данные:

  • «Как к Вам обращаться» в форме обратной связи, в случае если посетитель указывает свои полные ФИО или только часть;
  • Электронный адрес;
  • Номер телефона;
  • Также на сайте происходит сбор и обработка обезличенных данных о посетителях (в т. ч. файлов «cookie») с помощью сервисов интернет-статистики (Яндекс Метрика и других).
  • Вышеперечисленные данные далее по тексту Политики объединены общим понятием Персональные данные.

Как эти данные используются

На сайте используются куки (Cookies) и данные о посетителях сервисов (Яндекс Метрика и других). При помощи этих данных собирается информация о действиях посетителей на сайте с целью улучшения его содержания, улучшения функциональных возможностей сайта и, как следствие, создания качественного контента и сервисов для посетителей. Вы можете в любой момент изменить настройки своего браузера так, чтобы браузер блокировал все файлы cookie или оповещал об отправке этих файлов. Учтите при этом, что некоторые функции и сервисы не смогут работать должным образом.

Как эти данные защищаются

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

В случае изменения данной политики конфиденциальности вы сможете прочитать об этих изменениях на этой странице или, в особых случаях, получить уведомление на свой e-mail.

Политика в отношении обработки персональных данных.pdf

В случае изменения данной политики конфиденциальности вы сможете прочитать об этих изменениях на этой странице или, в особых случаях, получить уведомление на свой e-mail.

Jivo

DMCA.com Protection Status