Экстремальное программирование (XP) -

В конце 1900-х годов концепции разработки программного обеспечения и программирования претерпели значительные изменения в подходе и подходе всей схемы. Подходы к разным и пакетным размерам, которые мы внедряем, и четкие унифицированные модели были применены, чтобы внести изменения в способ разработки программного обеспечения. Потери должны были быть сокращены с ростом спроса на эффективные системы, и, таким образом, наступила эра методологий для эффективной разработки программного обеспечения. Вскоре процедурное программирование было заменено объектно-ориентированным программированием, и модель водопада позволила Agile взять на себя инициативу. Японские системы контроля качества вскоре набирали обороты, и затем возникла концепция чего-то, что раньше использовалось по частям, но теперь это была полноценная методология для решения проблем программирования и разработки, Extreme Programming!

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

Благодаря значительному количеству изменений, наблюдаемых клиентами, Extreme Programming (XP) стала облегчением для организации проектов, осуществляемых специалистами по программному обеспечению.

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

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

В основе Extreme Programming (XP) лежит «удовлетворенность клиентов», а «командная работа» - сила мышц. Сотрудничество является обязательным условием для успешного экстремального программирования (XP), так как оно предпринимает итерационные шаги по созданию программного обеспечения для клиентов / заказчиков. Он не нацелен на доставку всего ремня, а рассматривает, удовлетворяются ли потребности клиента на каждом этапе пути.

Часть гибкой разработки программного обеспечения

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

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

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

Традиционное развитие против экстремального программирования (XP)

  • В то время как традиционная разработка фокусируется на процессе и учитывает его, когда дело доходит до завершения цикла, экстремальное программирование фокусируется на требованиях.
  • Экстремальное программирование (XP) использует лучшие практики, установленные в традиционной разработке, и доводит их до пределов. Растяжение, выполняемое с помощью экстремального программирования (XP), отлично подходит для гибких и эластичных проектов.
  • Традиционная разработка имеет сегментацию как предшествующий фактор в циклах разработки программного обеспечения, в то время как экстремальное программирование (XP) поощряет сотрудничество между командами, а также заинтересованными сторонами за их постоянную обратную связь и взгляды на этапах и этапах планирования.

5 ценностей для успешного проекта

Экстремальное программирование (XP) включает в себя 5 основных способов или ценностей, необходимых для успешного проекта программного обеспечения:

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

Циклы планирования-обратной связи

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

Это планирование XP создается с тремя уровнями или уровнями.

  • Будущие месяцы
  • Следующая итерация
  • Текущая итерация

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

Благодаря планированию вступают в силу наиболее подходящие конструкции для поставляемого продукта. Что касается экстремального программирования (XP), то разработка на основе тестов (TDD) и рефакторинг используются для эффективного и результативного проектирования.

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

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

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

  • Кодирование для программирования пары - секунды
  • Парное программирование для модульного тестирования - минуты
  • Модульное тестирование для согласования пар - часы
  • Переговоры по паре до фуршета - один день
  • Стендовое собрание к приемочным испытаниям - дни
  • Приемочное тестирование итерационного планирования - недели
  • Планирование итерации для планирования выпуска - месяцы

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

Что такое парное программирование?

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

«Код, отправляемый в производство, создается двумя людьми, которые работают вместе над кодом, который будет создан, сидя на одном компьютере».

Преимущества этой концепции парного программирования следующие:

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

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

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

правила

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

планирование

При планировании руководитель проекта и его команда тщательно изучают требования и придерживаются следующих правил:

  • Пользовательские истории должны быть записаны
  • Планирование релиза должно привести к графику релиза
  • Проект разбит на итерации
  • Релизы нужно частые, но маленькие
  • Планирование итерации должно начинать итерацию

Управление

Управление назначенными задачами и продолжительность каждой специфической задачи - это роль менеджера проекта. Важно, чтобы руководитель проекта помнил о рисках и соблюдении каждого этапа, предпринимаемых членами команды, и соответственно руководил рабочей силой и ресурсами для реализации концепции экстремального программирования (XP). Вот некоторые из правил, которые нужно пройти через личку:

  • Команда должна получить открытое рабочее пространство, чтобы расширить свое воображение
  • График должен быть реалистичным и тщательно продуманным
  • Каждый рабочий день должен начинаться с фуршета
  • Сотрудничество и командная работа являются основными компонентами и требуют максимальной поддержки
  • Скорость проекта должна измеряться во время каждого изменения
  • Люди никогда не должны оставаться в застое и должны перемещаться
  • Экстремальное программирование (XP) является наиболее важным, и планирование должно начинаться при каждой возможности изменений

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

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

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

кодирование

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

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

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

Когда код готов и работает, тестирование становится гарантией бесперебойного функционирования строк кода. Тестирование формы как печать, чтобы убедиться, что программное обеспечение готово к употреблению. Ниже приведены правила, установленные для тестирования в рамках Extreme Programming (XP):

  • Код должен содержать модульные тесты
  • Релиз потребует коды для прохождения этих модульных тестов
  • Должны быть созданы тесты на обнаружение ошибок
  • Приемочные испытания должны проводиться с высокой частотой, а результаты должны публиковаться
  • Пользователи не должны обнаруживать ошибки в коде

Когда использовать экстремальное программирование (XP)?

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

  • Клиенты не имеют четкого представления о функциональности системы
  • Изменения являются динамическими и, как ожидается, изменятся через короткие промежутки времени
  • Бизнес стремительно растет
  • Выделенные ресурсы минимальны; нет огромного персонала
  • Нужно значительное увеличение производительности
  • Риск требует высокого уровня смягчения
  • Высокие условия для тестирования

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

Если вам нравится концепция экстремального программирования (XP), просмотрите эту статью. Если вам понравилось, не забудьте поделиться и прокомментировать свои взгляды.