О смысле парного программирования
Sep. 11th, 2018 09:20 amДолжен признаться: я никогда не использовал парное программирование на практике. Единственное, когда мне приходилось с этим сталкиваться - это в универе, когда сажали по 2 человека за один компьютер, потому что на всех не хватало компов или устраивали олимпиады какие-нибудь. Как известно, работодатели не горят желанием применять эту практику, т.к. приходится платить почти в два раза больше за один и тот же объем работы. Более того, я тоже считаю, что в большинстве случаев ПП вообще не нужно.
Обычно называют следующие причины использования ПП:
- чтобы быстрей происходила передача знаний для нового коллеги. Тупо сидеть смотреть, как кто-то медленно набирает строчки кода и тихо матерится про себя, и надеясь понять, что он делает? Кто-то действительно думает, что это эффективно? Наверное, раньше в совковые времена к мастеру на заводе, работающему у станка, приставляли юнца-помощника, чтобы он учился копированием, т.к. других способов не было. Но сейчас лучше писать дизайн-доки, следовать общим практикам и делать ревью кода.
- чтобы избежать ошибок, т.к. четыре глаза лучше, чем два. Вот тут отлично справляются вспомогательные инструменты разработки: проверки опечаток, подсветки синтаксиса, и т.п. Это надежней доверить машине, искусственному интеллекту, и снять лишнюю нагрузку на человека. А если действительно серьезный алгоритм надо реализовать, так его надо обсудить на отдельных дизайн-сессиях с детальным описанием, потом покрыть тестами, сделать нагрузочное тестирование и т.п. А не просто сидеть и вдвоем пялиться в один монитор, надеясь, что это как-то поможет.
- это некий тим-билдинг. Хм, неужели ничего веселей нельзя придумать? Многим вообще не комфортно, когда за их спиной кто-то наблюдает и выискивает косяки. Может, это особенность чьего-то менталитета?
И вообще, смотреть в чужой монитор не так интересно (если там не игрушка какая захватывающая). Люди быстро начинают скучать и пялиться в телефон или еще куда. Тут хорошо сказано в википедии: Disengagement may present as one of the members physically withdraws away from the keyboard, accesses email, or even falls asleep.
Обычно называют следующие причины использования ПП:
- чтобы быстрей происходила передача знаний для нового коллеги. Тупо сидеть смотреть, как кто-то медленно набирает строчки кода и тихо матерится про себя, и надеясь понять, что он делает? Кто-то действительно думает, что это эффективно? Наверное, раньше в совковые времена к мастеру на заводе, работающему у станка, приставляли юнца-помощника, чтобы он учился копированием, т.к. других способов не было. Но сейчас лучше писать дизайн-доки, следовать общим практикам и делать ревью кода.
- чтобы избежать ошибок, т.к. четыре глаза лучше, чем два. Вот тут отлично справляются вспомогательные инструменты разработки: проверки опечаток, подсветки синтаксиса, и т.п. Это надежней доверить машине, искусственному интеллекту, и снять лишнюю нагрузку на человека. А если действительно серьезный алгоритм надо реализовать, так его надо обсудить на отдельных дизайн-сессиях с детальным описанием, потом покрыть тестами, сделать нагрузочное тестирование и т.п. А не просто сидеть и вдвоем пялиться в один монитор, надеясь, что это как-то поможет.
- это некий тим-билдинг. Хм, неужели ничего веселей нельзя придумать? Многим вообще не комфортно, когда за их спиной кто-то наблюдает и выискивает косяки. Может, это особенность чьего-то менталитета?
И вообще, смотреть в чужой монитор не так интересно (если там не игрушка какая захватывающая). Люди быстро начинают скучать и пялиться в телефон или еще куда. Тут хорошо сказано в википедии: Disengagement may present as one of the members physically withdraws away from the keyboard, accesses email, or even falls asleep.