Является ли Extreme Programming (XP) несовместимым с идеями, выраженными в Peopleware?


16

Я только что закончил читать Peopleware (DeMarco, Lister) и немного раньше исследовал экстремальное программирование (XP). На мой взгляд, эти два подхода почти исключают друг друга.

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

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

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

PS Как дополнительный мини-вопрос, как программист, что вы найдете более продуктивным?


4
Они не являются эксклюзивными. Пара разработчиков должна работать непрерывно.
Лукаш Мадон

@lukas: даже учитывая это, как насчет "сидеть вместе"?
Александр Ульме

Ответы:


12

Вы упустили момент с Peopleware. Нигде в книге не предлагается выделять программистов в отдельных офисах, но группируйте их по 2-4 человека в офисе.

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

Экстремальное программирование полностью совместимо с 2-4 офисами. Для парного программирования вам нужно максимум 2 или 3.


Да, рассматривая то, что я заметил, замечание о том, что программисты должны быть изолированы «от шума, сильно отличающегося от шума, который они создают», то есть от непрограммистов. Благодарность!
Александр Ульме

Я имел роскошь работать в офисе с 3 людьми в течение приблизительно 5 лет. Это работает очень хорошо - если люди работают вместе.
fast_now

@quickly_now: вы работаете в открытом космосе сейчас?

1
Сейчас я работаю в офисе одного человека. Раньше я работал в офисе из 3 человек, а до этого в открытом плане. (А до этого ... более открытый план ... и до этого офис с дверью, которую я мог закрыть). В конце концов, я предпочитаю офис одного человека. Если вы не можете получить эту роскошь, тогда 2-3 человека это хорошо. Более того, это просто гигантская свинья ручка.
fast_now

11

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

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

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


4

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

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


1

Лично я считаю невозможным работать в паре с кем-то, даже если я учусь у этого человека. Может быть, просто так, что некоторые люди (то есть я) работают лучше в «классическом» стиле (вход в зону, тишина и т. Д.).

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

Для чего-то подобного, работа в парах, много общения и т. Д. Может быть единственным способом эффективного продвижения вперед (вы не собираетесь тратить X часов только на то, чтобы найти модуль отправки электронной почты Joomla! / Droopal bug, вы ?)


-2

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

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

Таблица 8-1 внизу в значительной степени расшифровывает его, а последняя запись является последней торпедой.

  1. Люди часто прерывают вас без нужды? 38% да 76% да

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

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

"О! Вы видели игру прошлой ночью? !!!! И тот ЗВОНОК !!!! Они были слепы ?? !!"

Ну, вы поняли.

XP по раннему определению - это 2 программиста и одна клавиатура. Эта методология действительно подходит только для глубокого погружения в труднодоступные исправления ошибок, а не для крупномасштабной разработки программного обеспечения. Концепции Open Plan и Team Room нарушают исследования, проведенные в Peopleware.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.