Почему экстремальное программирование (XP) устарело в пользу Agile, Kanban и т. Д.?

15

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

В последние 10 лет стиль работы XP, похоже, устарел в пользу рабочих методологий: Agile и / или Kanban. Почему? Поскольку XP кажется мне очень хорошим способом работы, и он в большей степени связан с программированием, тогда как Agile и Kanban больше ориентированы на процессы.

Никлас
источник
28
XP - гибкий подход. Так что Agile не может заменить XP.
Иоахим Зауэр
1
Я собирался опубликовать ответ, когда заметил, что Фолькер говорит примерно то же самое. Гибкие процессы по своей природе являются адаптивными, нет такого понятия, как «идеальный / чистый» Kanban, Scrum, XP, это скорее смесь и сочетание. В этом смысле XP по-прежнему набирает силу, учитывая, что некоторые из представленных концепций были приняты практически всеми другими подходами.
Яннис
3
В Википедии есть интересный список критических замечаний по XP , но если вы просматриваете его, большинство из них относится к Agile в целом.
Яннис
3
Я не думаю, что XP никуда не делся. Многое из этого предполагается в рамках гибкой разработки. Я думаю, что вышло из моды использование термина «экстремальный». Это всегда давало мне изображение закодированного на Mt. Роса с сноубордом наклонилась на столе.
JimmyJames
В целом, «парное программирование» не сработало, ИМО. Он отлично подходит для решения отдельных изолированных задач, но подавляющее большинство проблем программирования (пользовательские интерфейсы, архитектуры, бизнес-правила) не оправдывают затраты, когда два разработчика программного обеспечения сидят за одним экраном.
Роберт Харви

Ответы:

21

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

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

Тем более, что Kanban изначально не приходит от разработки программного обеспечения, он берет свое начало в создании автомобилей (напомню, Toyota представила его для создания автомобилей, а некоторые разработчики программного обеспечения приняли и расширили его)

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

XP более или менее представил эти вещи (или, по крайней мере, дал им блестящее имя), и все последующие вещи переняли их, потому что это просто сработало.

Volker
источник
3
Как уже упоминалось в @refro, Scrum и Kanban не включают парное программирование или обзоры кода (но не исключают их). Оба являются скорее методологией управления проектами, чем процессом разработки программного обеспечения. И как таковые, они применимы к широкому кругу областей вне разработки программного обеспечения. В то время как XP - это именно подход к разработке программного обеспечения. Они могут сосуществовать - вы можете управлять своей командой XP способом Scrum.
Петер Тёрёк
16

На мой взгляд, XP - это практика программирования, Scrum и kanban - это практики управления проектами. Они имеют отношение, но не заменяют друг друга.

В нашем канбан-проекте мы используем парное программирование (в основном для сложных разделов и отладки), TDD, CI. Таким образом, он все еще используется, но руководство все сильнее подталкивает управление проектами.

refro
источник
1
Парное программирование похоже на глушение в музыкальных практиках. Иногда это работает, а иногда не работает вообще. В редких случаях это может быть принято как общий способ игры и в очень редких случаях как способ сочинения .
Алекс Ю
0

Экстремальное программирование связано с механикой разработки, а Agile - с SDLC (жизненный цикл разработки программного обеспечения).

Основная причина, по которой вы больше не слышите о «экстремальном программировании» по названию, заключается в том, что использование термина «экстремальное» в качестве положительного прилагательного - устаревшая вещь 90-х - начала-00, которая сейчас выглядит банальной. В основном это просто жертва маркетинга. Вот почему вы почти исключительно слышите, что это называется «XP», даже в устной форме.

Andy_Vulhop
источник
0

У меня есть некоторые мысли о парном программировании.

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

Если вы копаете яму, мало кто будет против получить помощь от коллеги. Но как только появляется креативность, люди предпочитают делать все по-своему, а не по-другому. Таким образом, напряженность всегда рядом, если только кому-то все равно, или если чья-то роль явно подсказывает.

Где я работаю, парное программирование не формализовано, но у нас есть специальные сессии, и они, как правило, короткие. Это не будет похоже на «Эй, коллега, как насчет экстремального программирования?» Чаще всего это начинается с "Можете ли вы взглянуть на мой экран?" и подтягивая стул для них.

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

Мартин Маат
источник
0

Agile более востребован, потому что в нем участвуют разные заинтересованные стороны с разными ролями и обязанностями, связанными с процессом создания программного обеспечения

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

Биллаль Бегерадж
источник
0

Я всегда думал, что Scrum - это версия Agile, которую проще всего продать руководству: детерминистские оценки, его несколько доктринальный, четко определенный характер («вы на самом деле не делаете Scrum - чувствуете вину!») ...

Вытягивайте свои спринты достаточно долго и воспринимайте эти маленькие «покерные карты» достаточно серьезно, и Scrum может сильно щекотать тот же зуд, что и методы Waterfall. Это не обязательно плохо, но давайте не будем прятаться здесь за дымом и зеркалами.

На стороне XP парное программирование обычно не обращается к управлению, особенно к нетехническому управлению.

Чтобы поместить это в формат аналогии SAT, Scrum: XP :: The Monkees: The Beatles

user1172763
источник