ШРИ
руководитель отделаразработки поисковых интерфейсов
Парное программирование
Сергей Бережной
суббота, 3 ноября 12 г.
суббота, 3 ноября 12 г.
Явные профиты3
суббота, 3 ноября 12 г.
Явные профиты
• выше качество кода
4
суббота, 3 ноября 12 г.
Явные профиты
• выше качество кода– банальные опечатки
4
суббота, 3 ноября 12 г.
Явные профиты
• выше качество кода– банальные опечатки– архетектурные решения
4
суббота, 3 ноября 12 г.
Явные профиты
• выше качество кода– банальные опечатки– архетектурные решения
• сложные задачи
4
суббота, 3 ноября 12 г.
Явные профиты
• выше качество кода– банальные опечатки– архетектурные решения
• сложные задачи• интеграционные задачи
4
суббота, 3 ноября 12 г.
Неявные профиты5
суббота, 3 ноября 12 г.
Неявные профиты
• обучение менее опытных коллег
6
суббота, 3 ноября 12 г.
Неявные профиты
• обучение менее опытных коллег• передача знаний и коллективное владение кодом
6
суббота, 3 ноября 12 г.
Неявные профиты
• обучение менее опытных коллег• передача знаний и коллективное владение кодом • скорость погружения в новый проект
6
суббота, 3 ноября 12 г.
Неявные профиты
• обучение менее опытных коллег• передача знаний и коллективное владение кодом • скорость погружения в новый проект• соблюдение стиля кодирования
6
суббота, 3 ноября 12 г.
Неявные профиты
• обучение менее опытных коллег• передача знаний и коллективное владение кодом • скорость погружения в новый проект• соблюдение стиля кодирования• выстраивание коммуникаций в команде
6
суббота, 3 ноября 12 г.
Неявные профиты
• обучение менее опытных коллег• передача знаний и коллективное владение кодом • скорость погружения в новый проект• соблюдение стиля кодирования• выстраивание коммуникаций в команде• дисциплина
6
суббота, 3 ноября 12 г.
Неявные профиты
• обучение менее опытных коллег• передача знаний и коллективное владение кодом • скорость погружения в новый проект• соблюдение стиля кодирования• выстраивание коммуникаций в команде• дисциплина• удовольствие
6
суббота, 3 ноября 12 г.
Примеры7
суббота, 3 ноября 12 г.
Примеры
• i-bem.js
8
суббота, 3 ноября 12 г.
Примеры
• i-bem.js• BEMHTML
8
суббота, 3 ноября 12 г.
Примеры
• i-bem.js• BEMHTML• XJST
8
суббота, 3 ноября 12 г.
Примеры
• i-bem.js• BEMHTML• XJST• APW
8
суббота, 3 ноября 12 г.
Примеры
• i-bem.js• BEMHTML• XJST• APW• bem server/make
8
суббота, 3 ноября 12 г.
Примеры
• i-bem.js• BEMHTML• XJST• APW• bem server/make• сложные Лего-блоки
8
суббота, 3 ноября 12 г.
Примеры
• i-bem.js• BEMHTML• XJST• APW• bem server/make• сложные Лего-блоки• Единая Карта
8
суббота, 3 ноября 12 г.
Примеры
• i-bem.js• BEMHTML• XJST• APW• bem server/make• сложные Лего-блоки• Единая Карта• Серп
8
суббота, 3 ноября 12 г.
Примеры
• i-bem.js• BEMHTML• XJST• APW• bem server/make• сложные Лего-блоки• Единая Карта• Серп• Картинки
8
суббота, 3 ноября 12 г.
Примеры
• i-bem.js• BEMHTML• XJST• APW• bem server/make• сложные Лего-блоки• Единая Карта• Серп• Картинки• Видео
8
суббота, 3 ноября 12 г.
Примеры
• i-bem.js• BEMHTML• XJST• APW• bem server/make• сложные Лего-блоки• Единая Карта• Серп• Картинки• Видео• Почта
8
суббота, 3 ноября 12 г.
Примеры
• не только программы
9
суббота, 3 ноября 12 г.
суббота, 3 ноября 12 г.
Парное программирование — техника программирования, при которой весь исходный код создаётся парами людей, программирующих одну задачу, сидя за одним рабочим местом.
11
суббота, 3 ноября 12 г.
Парное программирование — техника программирования, при которой весь исходный код создаётся парами людей, программирующих одну задачу, сидя за одним рабочим местом. Один программист управляет компьютером и, в основном, думает над кодированием в деталях.
12
суббота, 3 ноября 12 г.
Парное программирование — техника программирования, при которой весь исходный код создаётся парами людей, программирующих одну задачу, сидя за одним рабочим местом. Один программист управляет компьютером и, в основном, думает над кодированием в деталях. Другой программист сосредоточен на картине в целом и непрерывно просматривает код, производимый первым программистом.
13
суббота, 3 ноября 12 г.
Парное программирование — техника программирования, при которой весь исходный код создаётся парами людей, программирующих одну задачу, сидя за одним рабочим местом. Один программист управляет компьютером и, в основном, думает над кодированием в деталях. Другой программист сосредоточен на картине в целом и непрерывно просматривает код, производимый первым программистом. Время от времени они меняются ролями, обычно, каждые полчаса.
14
суббота, 3 ноября 12 г.
Экстремальное программирование15
суббота, 3 ноября 12 г.
Следовать своей роли16
суббота, 3 ноября 12 г.
Состыковать график работы17
суббота, 3 ноября 12 г.
Меняться ролями18
суббота, 3 ноября 12 г.
Меняться ролями19
суббота, 3 ноября 12 г.
Меняться парами20
суббота, 3 ноября 12 г.
Разница в уровне21
суббота, 3 ноября 12 г.
Совместимость22
суббота, 3 ноября 12 г.
Побыть одному23
суббота, 3 ноября 12 г.
суббота, 3 ноября 12 г.
Дисциплина25
суббота, 3 ноября 12 г.
Катализатор собственных мыслей26
суббота, 3 ноября 12 г.
1 + 1 > 227
суббота, 3 ноября 12 г.
Персональная ответственность за коллективное28
суббота, 3 ноября 12 г.
Диалог29
суббота, 3 ноября 12 г.
Обучение30
суббота, 3 ноября 12 г.
«Притирка»31
суббота, 3 ноября 12 г.
Инструменты32
суббота, 3 ноября 12 г.
Одинаковые настройки33
суббота, 3 ноября 12 г.
Доска / бумага34
суббота, 3 ноября 12 г.
Удалённая работа35
суббота, 3 ноября 12 г.
Удалённая работа
• IDE (например Cloud9)
36
суббота, 3 ноября 12 г.
Удалённая работа
• IDE (например Cloud9)• tmux / screen
36
суббота, 3 ноября 12 г.
Удалённая работа
• IDE (например Cloud9)• tmux / screen• VNC / Remote Desktop
36
суббота, 3 ноября 12 г.
Удалённая работа
• IDE (например Cloud9)• tmux / screen• VNC / Remote Desktop• EtherPad
36
суббота, 3 ноября 12 г.
Удалённая работа
37
суббота, 3 ноября 12 г.
remotepairprogramming.com
Удалённая работа
37
суббота, 3 ноября 12 г.
GitHub38
суббота, 3 ноября 12 г.
GitHub39
github.com/therubymug/hitch
суббота, 3 ноября 12 г.
Страхи40
суббота, 3 ноября 12 г.
Страхи
• Не будет работать как ожидается, не удастся войти в правильное состояние
41
суббота, 3 ноября 12 г.
Страхи
• Не будет работать как ожидается, не удастся войти в правильное состояние
• Накладные расходы больше, чем получаемый профит
41
суббота, 3 ноября 12 г.
Страхи
• Не будет работать как ожидается, не удастся войти в правильное состояние
• Накладные расходы больше, чем получаемый профит• Психология
41
суббота, 3 ноября 12 г.
Страхи
• Не будет работать как ожидается, не удастся войти в правильное состояние
42
суббота, 3 ноября 12 г.
Страхи
• Не будет работать как ожидается, не удастся войти в правильное состояние– кто за клавиатурой, находится под давлением
42
суббота, 3 ноября 12 г.
Страхи
• Не будет работать как ожидается, не удастся войти в правильное состояние– кто за клавиатурой, находится под давлением– один программирует, второй отвлекается
42
суббота, 3 ноября 12 г.
Страхи
• Не будет работать как ожидается, не удастся войти в правильное состояние– кто за клавиатурой, находится под давлением– один программирует, второй отвлекается– кто не за клавиатурой, не понимает, что происходит
42
суббота, 3 ноября 12 г.
Страхи
• Не будет работать как ожидается, не удастся войти в правильное состояние– кто за клавиатурой, находится под давлением– один программирует, второй отвлекается– кто не за клавиатурой, не понимает, что происходит– невозможность сидеть за одним рабочим местом
42
суббота, 3 ноября 12 г.
Страхи
• Не будет работать как ожидается, не удастся войти в правильное состояние– кто за клавиатурой, находится под давлением– один программирует, второй отвлекается– кто не за клавиатурой, не понимает, что происходит– невозможность сидеть за одним рабочим местом– разница в квалификации
42
суббота, 3 ноября 12 г.
Страхи
• Накладные расходы больше, чем получаемый профит
43
суббота, 3 ноября 12 г.
Страхи
• Накладные расходы больше, чем получаемый профит– расходуется время на синхронизацию
43
суббота, 3 ноября 12 г.
Страхи
• Накладные расходы больше, чем получаемый профит– расходуется время на синхронизацию– два человека делают столько, сколько мог бы сделать один
43
суббота, 3 ноября 12 г.
Страхи
• Накладные расходы больше, чем получаемый профит– расходуется время на синхронизацию– два человека делают столько, сколько мог бы сделать один
– можно было бы заменить на ревью
43
суббота, 3 ноября 12 г.
Страхи
• Психология
44
суббота, 3 ноября 12 г.
Страхи
• Психология– два дела одновременно (программировать, общаться)
44
суббота, 3 ноября 12 г.
Страхи
• Психология– два дела одновременно (программировать, общаться)– нет гордости за самостоятельно достигнутый результат
44
суббота, 3 ноября 12 г.
Страхи
• Психология– два дела одновременно (программировать, общаться)– нет гордости за самостоятельно достигнутый результат– иногда нужно побыть одному
44
суббота, 3 ноября 12 г.
Итого45
суббота, 3 ноября 12 г.
Явные профиты
46
суббота, 3 ноября 12 г.
Явные профиты
• выше качество кода
46
суббота, 3 ноября 12 г.
Явные профиты
• выше качество кода– банальные опечатки
46
суббота, 3 ноября 12 г.
Явные профиты
• выше качество кода– банальные опечатки– архетектурные решения
46
суббота, 3 ноября 12 г.
Явные профиты
• выше качество кода– банальные опечатки– архетектурные решения
• сложные задачи
46
суббота, 3 ноября 12 г.
Явные профиты
• выше качество кода– банальные опечатки– архетектурные решения
• сложные задачи• интеграционные задачи
46
суббота, 3 ноября 12 г.
Неявные профиты
47
суббота, 3 ноября 12 г.
Неявные профиты
• обучение менее опытных коллег
47
суббота, 3 ноября 12 г.
Неявные профиты
• обучение менее опытных коллег• передача знаний и коллективное владение кодом
47
суббота, 3 ноября 12 г.
Неявные профиты
• обучение менее опытных коллег• передача знаний и коллективное владение кодом • скорость погружения в новый проект
47
суббота, 3 ноября 12 г.
Неявные профиты
• обучение менее опытных коллег• передача знаний и коллективное владение кодом • скорость погружения в новый проект• соблюдение стиля кодирования
47
суббота, 3 ноября 12 г.
Неявные профиты
• обучение менее опытных коллег• передача знаний и коллективное владение кодом • скорость погружения в новый проект• соблюдение стиля кодирования• выстраивание коммуникаций в команде
47
суббота, 3 ноября 12 г.
Неявные профиты
• обучение менее опытных коллег• передача знаний и коллективное владение кодом • скорость погружения в новый проект• соблюдение стиля кодирования• выстраивание коммуникаций в команде• дисциплина
47
суббота, 3 ноября 12 г.
Неявные профиты
• обучение менее опытных коллег• передача знаний и коллективное владение кодом • скорость погружения в новый проект• соблюдение стиля кодирования• выстраивание коммуникаций в команде• дисциплина• удовольствие
47
суббота, 3 ноября 12 г.
Ссылки
• en.wikipedia.org/wiki/Pair_programming• ru.wikipedia.org/wiki/Парное_программирование• www.maxkir.com/sd/pairprog_RUS.htm• tersesystems.com/2010/12/29/where-pair-programming-fails-for-me• dev.by/blog/64632• habrahabr.ru/post/151563/• habrahabr.ru/post/147921/• freehabr.ru/blog/programming/617.html
48
суббота, 3 ноября 12 г.
суббота, 3 ноября 12 г.
руководитель отделаразработкипоисковых интерфейсов
Спасибо
Сергей Бережной
@veged
github.com/veged
суббота, 3 ноября 12 г.
Recommended