Scrum и XP: заметки с передовой
60
Как мы сочетаем Scrum с XP
То, что Scrum и XP (eXtreme Programming) могут быть эффективно объединены, не вызывает сомнений.
Большинство рассуждений в интернете поддерживают это предположение, и я не хочу тратить время на
дополнительные обоснования.
Тем не менее, одну вещь я всё-таки должен упомянуть. Scrum решает вопросы управления и организации,
тогда как XP специализируется на инженерных практиках. Вот почему эти две технологии хорошо работают
вместе, дополняя друг друга.
Тем самым я присоединяюсь к сторонникам мнения, что Scrum и XP могут быть эффективно объединены!
Я собираюсь рассказать про наиболее полезные практики из XP и про то, как мы используем их в нашей
повседневной работе. Не все наши команды смогли применить практики XP в полном объеме, но мы провели
большое количество экспериментов со многими аспектами комбинации XP/Scrum. Некоторые практики XP
напрямую соответствуют практикам Scrum, например, "Whole team", "Sit together", "Stories" и "Planning game".
В этих случаях мы просто придерживаемся Scrum.
Парное программирование
Недавно мы начали практиковать его в одной из наших команд. Как ни удивительно, работает довольно-
таки хорошо. Большинство других наших команд до сих пор не очень много программирует парно, однако,
попробовав эту практику в одной из наших команд для нескольких спринтов, я вдохновился идеей внедрить
парное программирование и в других командах.
Вот пока несколько выводов после применения парного программирования:
•
Парное программирование действительно улучшает качество кода.
•
Парное программирование действительно увеличивает сосредоточенность команды (например,
когда напарник говорит: “Слушай, а эта штуковина точно нужна для этого спринта?”)
•
Удивительно, но многие разработчики, которые выступают против парного программирования, на
самом деле не практиковали его, однако раз попробовав – быстро понимают все преимущества.
•
Парное программирование выматывает, так что не стоит заниматься им целый день.
•
Частая смена пар даёт хороший результат.
•
Парное программирование действительно способствует распространению знаний внутри
команды, заметно ускоряя этот процесс.
•
Некоторые люди чувствуют себя некомфортно, работая в парах. Не стоит избавляться от хорошего
программиста, только потому, что ему не нравится парное программирование.
•
Ревью кода – хорошая альтернатива парному программированию.
•
У “штурмана” (человека, который не пишет код) должен также быть свой компьютер, но не для
разработки, а для выполнения мелких задач, когда это необходимо – просмотра документации,
если “водитель” (человек, который пишет код) запнулся и так далее.
•
Не навязывайте парное программирование людям. Вдохновите их, дайте необходимые
инструменты и позвольте самим дойти до этого.