Чому екстремальне програмування (XP) застаріло на користь Agile, Kanban тощо?


15

Мені подобається XP (екстремальне програмування), особливо частина, де на одному екрані є 2 програмісти, оскільки рішення проблеми часто знаходить швидше, якщо тільки ти пояснюєш, що ти робиш, а парування програмування змушує тебе пояснити, що ти робити.

За останні 10 років або близько того, стиль роботи XP, здається, застарів на користь робочих методологій: Agile та / або Kanban. Чому? Оскільки XP здається мені дуже хорошим способом роботи і багато стосується програмування, тоді як Agile та Kanban більше стосуються процесів.


28
XP - спритний підхід. Тож "Agile" насправді не може замінити XP.
Йоахім Зауер

1
Я збирався розмістити відповідь, коли помітив, що Волкер говорить майже те саме. Agile процеси за своєю природою адаптивні, немає такого поняття, як "ідеальний / чистий" Kanban, Scrum, XP, це скоріше змішання та відповідність. У цьому сенсі XP, як і раніше, залишається сильним, враховуючи, що декілька концепцій, які він ввів, були прийняті майже всіма іншими підходами.
янніс

3
У Вікіпедії є цікавий перелік критики щодо XP , але якщо ви проскануєте його, більшість із них стосується Agile взагалі.
янніс

3
Я не думаю, що XP нікуди пішов. Значна частина цього передбачається як частина спритного розвитку. Я думаю, що те, що вийшло зі стилю, було використання терміна "екстрим". Це завжди дало мені зображення кодера, що підскочив на Mt. Роса з сноубордом схилилася на столі.
JimmyJames

Вся річ "Парне програмування" не вийшла, ІМО. Це чудово для вирішення певних ізольованих проблем, але переважна більшість проблем програмування (інтерфейси користувачів, архітектура, бізнес-правила) не виправдовують витрат на те, щоб два розробники програмного забезпечення сиділи за одним екраном.
Роберт Харві

Відповіді:


21

Існує дуже багато різних стилів, методів і мислення, пов'язаних з усією розробкою поля, і все має свою, блискучу назву.

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

Особливо Канбан не походить від розробки програмного забезпечення спочатку, він бере свій початок у будівництві автомобілів (нагадаю, Toyota представила його для створення автомобілів, а деякі розробники програмного забезпечення прийняли та розширили його)

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

XP більш-менш представив ці речі (або принаймні дав їм блискучу назву), і всі наступні речі прийняли їх, тому що це просто добре вийшло.


3
Як вже згадувалося @refro, Scrum і Kanban не включають парне програмування або огляд коду (але вони також не виключають їх). Обидва є скоріше методологією управління проектами, ніж процесом розробки програмного забезпечення. І як такі вони застосовні для широкого спектру галузей поза розробкою програмного забезпечення. Тоді як XP - це спеціально підхід до розробки програмного забезпечення. Вони можуть співіснувати - ви можете керувати своєю командою XP в режимі Scrum.
Péter Török

16

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

У нашому проекті kanban ми використовуємо парне програмування (переважно для складних розділів та налагодження), TDD, CI. Таким чином, він все ще використовується, але менеджмент посилює сторону управління проектами сильніше.


1
Парне програмування - це як заклинання в практиці музиканта. Це працює іноді, а іноді зовсім не працює. У рідкісних випадках це може бути прийнято як загальний спосіб гри, а в дуже рідкісних випадках як спосіб композиції .
Олексій Ю.

0

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

Основна причина, по якій ви більше не чуєте про "Екстремальне програмування", - це використання терміна "Екстрім" як позитивного прикметника - це застаріла річ від 90-х до початку 00-х, яку зараз вважають банальною. Це здебільшого лише жертва маркетингу. Ось чому ви майже ексклюзивно чуєте його, як його називають "XP", навіть усно.


0

У мене є деякі думки щодо парного програмування.

Для мене це те, що ти робиш, коли ти щось застряєш. У ті часи це може бути дуже ефективно, може вивести вас з колії. Але також втомлює і спосіб роботи, який програміст стерео типу не любить робити більше, ніж іноді.

Якщо ви копаєте яму, мало хто буде проти отримати допомогу від колеги. Але як тільки займається творчість, люди вважають за краще робити речі своїм способом, а не чужим. Таким чином, напруженість завжди поруч, якщо когось не турбує той чи інший спосіб, або якщо чітко підказувати лише свою роль.

Там, де я працюю, програмування пар не формалізовано, але у нас є спеціальні сесії, і вони, як правило, короткі. Це не буде на кшталт "Ей, колега, а як щодо екстремального програмування?" Частіше це починалося з "Чи можете ви подивитися на мій екран?" і підтягуючи до них стілець.

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


0

Agile є більш товарним, оскільки включає різні зацікавлені сторони з різними ролями та обов'язками, пов'язаними з процесом створення програмного забезпечення.

Коли у своєму другому виданні Кент Бек розширив коло учасників XP, було вже пізно: люди вже прийняли інші методології, оскільки перша версія XP орієнтована на виконавців коду, і саме це досі пам'ятає аудиторія або несвідомо, або ні. XP не був проданий при народженні.


0

Я завжди думав, що Scrum - це версія Agile, яку найпростіше продати керівництву: детерміновані оцінки, її дещо доктрина, чітко визначений характер ("ти насправді не робиш Scrum - відчуваєш себе винним!") ...

Розтягуйте спринти досить довго, і сприймайте ці маленькі "покерні картки" досить серйозно, і Scrum може дуже сильно колупати той самий свербіж, що і методи Waterfall. Це не обов'язково погано, але не давайте тут ховатися за димовими дзеркалами.

Що стосується XP, парне програмування, як правило, не звертається до менеджменту, особливо нетехнічного управління.

Щоб поставити його у форматі аналогії SAT, Scrum: XP :: Monkees: The Beatles

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.