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


16

Я щойно закінчив читати Peopleware (DeMarco, Lister) і трохи раніше займався дослідженням програми Extreme Programming (XP). Як я бачу зараз, два підходи майже виключно один одному.

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

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

Я дуже новачок у вивченні управління розробкою програмного забезпечення, тому можливо, що я просто щось зрозумів. Усі коментарі вітаються.

PS Як додане міні-запитання, як програміста, який би ви вважали більш продуктивним?


4
Вони не є ексклюзивними. Парні розробники повинні працювати безперебійно.
Лукаш Мадон

@lukas: навіть зважаючи на це, що з "сидіти разом"?
Олександр Ульме

Відповіді:


12

Ви пропустили справу з Peopleware. Ніде книга не пропонує ізолювати програмістів в окремих офісах, а групувати їх по 2 до 4 осіб на офіс.

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

Екстремальне програмування повністю сумісне з офісом від 2 до 4. Щоб виконати парне програмування, вам потрібно 2 або 3 максимум.


Так, переглядаючи річ, я помітив зауваження, що програмістів слід ізолювати "від шуму, сильно різного до тих, які вони створюють", тобто від непрограмістів. Спасибі!
Олександр Ульме

Я мав розкіш працювати в офісі на 3 людини близько 5 років. Це працює дуже добре - якщо люди працюють разом.
швидко_знай

@quickly_now: ти зараз працюєш у відкритому космосі?

1
Зараз я працюю в офісі для однієї людини. Раніше я працював в офісі на 3 особи, а до цього у відкритому плані. (А до цього ... більш відкритий план ... а до цього офіс із дверима, який я міг би закрити). Моя перевага, адже це офіс для однієї людини. Якщо ви не можете отримати цю розкіш, то 2-3 людини - це добре. Більше того - просто гігантська свиняча ручка.
quick_now

11

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

Будьте достатньо близькими, щоб забезпечити швидке спілкування, але відступайте в якусь усамітнену область, коли обговорення закінчено і фактична робота повинна слідувати.

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


4

Ключовою є фраза "ізолювати програмістів від будь-яких порушень і встановлює пріоритет для безперебійної роботи". У XP важливий пріоритет, коли для кожної історії вибирається історія як найцінніша. Клієнти повинні прагнути мати «стабільний» набір історій, не змінюючи свою думку надто середньою ітерацією (це може статися, але це повинні бути особливі випадки, а не норма).

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


1

Особисто мені здається неможливо працювати в парі з кимось, навіть якщо я навчаюсь від цієї людини. Можливо, це просто так, що деякі люди (тобто я) працюють краще «класичними» способами (потрапляння в зону, тиша тощо).

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

Для чогось подібного, робота в парах, багато спілкування тощо може бути єдиним способом просунутись вперед (ви не збираєтеся витрачати X годин просто на те, щоб знайти модуль відправки електронної пошти Joomla! / Помилка Droopal, чи не так? ?)


-2

Так, XP абсолютно не сумісний з Peopleware та хорошими практиками розробки програмного забезпечення всередині. Можливо, вам потрібно оновити розділ, перш ніж продовжувати?

http://code.scottshipp.com/2017/03/22/open-office-plans-excerpt-from-peopleware/

Таблиця 8-1 в нижній частині в значній мірі прописує це, остаточним записом є кінцева торпеда.

  1. Чи часто люди вас без потреби перебивають? 38% так 76% так

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

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

"О! Ви бачили вчорашню гру? !!!! І ЦІ ЗВАННЯ !!!! Чи були вони сліпі ?? !!"

Ну, ви отримаєте картину.

XP за раннім визначенням - це 2 програмісти та одна клавіатура. Це методологія, яка дійсно підходить лише для глибокого пірнання з важко знайти виправлення помилок, а не для масштабної розробки програмного забезпечення. І концепція відкритого плану, і концепція командної кімнати порушують дослідження, проведені в Peopleware.

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