Без заголовка
Это смотря как мерить. ХРшники пишут, что в неделе у них кагбэ два условных "рабочих" дня, потому как половину времени они программируют с кем-то ну и еще всякий оверхед. В этом смысле хуже, ажно в 2.5 раза.
Однако, когда работаешь вдвоем есть косвенные бенефиты, а именно в том, что второй человек помогает отсечь больше ошибок на раннем этапе. Кроме того, при таком подходе народ разбирается в чужом коде, так что коммуникация при разработке дизайна проще, а точнее выходит на другой уровень, недостижимый в случае, если каждый в своем куске варится.
При этом второй человек вообще говоря может и мешать кодить, понятное дело.
Посему в каждом конкретном случае, от парного кодинга может быть как польза так и вред, но последнее скорее характеризует программеров, нежели сам принцип.
Ну или к примеру пишу я юнит-тесты часто (хотя и не всегда), это несколько напряжно, но я знаю что потом будет польза, и она есть. У меня фикс некоторых багов занимает несколько минут без всяких душевных терзаний на тему а не обавлится ли сервак с десятком тыщ кастомеров.
А кто-то откладывает коммит до следущего дня, типа на "свежую" голову. Ну а с тестами она и вечером свежая.
В некоторых случаях время внесения изменений может сократиться и в десяток раз.
Хотя исследования это не выявят. Они может наоборот выяснят, то юнит-тесты были в пять раз больше по объему нежели основной код и очень быстро устаревают, так что смысла писать их нет, потому что потом придется заново переписывать.
Собственно, так же и с остальными принципами. Они могут не работать по каким-то объективным причинам, а может просто программеры не могут/умеют их реализовать.
Посему я и написал, что можно выбрать по вкусу - те которые работают в данной конкретной ситуации.