Сергей Бережной — Парное программирование

Preview:

DESCRIPTION

 

Citation preview

ШРИ

руководитель отделаразработки поисковых интерфейсов

Парное программирование

Сергей Бережной

суббота, 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 г.

суббота, 3 ноября 12 г.

руководитель отделаразработкипоисковых интерфейсов

veged@yandex-team.ru

Спасибо

Сергей Бережной

@veged

github.com/veged

суббота, 3 ноября 12 г.

Recommended