pair programming

44
ПАРНОЕ ПРОГРАММИРОВАНИЕ как и почем?

Upload: svetlana-kolupaeva

Post on 11-May-2015

1.033 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Pair programming

ПАРНОЕ ПРОГРАММИРОВАНИЕ

как и почем?

Page 2: Pair programming

ЗДРАВСТВУЙТЕ!

Меня зовут

Света Колупаева

Я работаю

*мы там молодцы

в Exigen Services*

Page 3: Pair programming

ЕСТЕСТВЕННОработать в паре

Page 4: Pair programming
Page 5: Pair programming

НО ВСЕГДА ЛИ

ЭФФЕКТИВНО

Page 6: Pair programming

МЫ ВСЕ ЗНАЕМна самом деле

Page 7: Pair programming

ПРИ РАБОТЕ В ПАРЕ...

• дефектов – меньше• дизайн – лучше• «нерешаемые» проблемы становятся решаемыми• кросфункциональность («truck number») – растет• …

СПЕЦИАЛЬНЫЙ БОНУС ДЛЯ МЕНЕДЖЕРОВ...

• снижение рисков • это не так дорого, как кажется

Page 8: Pair programming

ОБРАТНАЯ СВЯЗЬ

БЫСТРАЯ

ОСНОВА

ГИБКОСТИ

Page 9: Pair programming

ИНЖЕНЕРНЫЕ

ПРАКТИКИ

ВАЖНЫ!

Page 10: Pair programming

НЕ РАБОТАЕТтак почему же

Page 11: Pair programming

Он меня напрягает!

А че он все время

смотрит?

A-a-a-аргх!

Ты думаешь, я сам не справлюсь?!

В одиночку я

сделаю быстрее

Page 12: Pair programming

МОЖЕТ БЫТЬ,

МЫ ПРОСТО

НЕ УМЕЕМ

ГОТОВИТЬ?ИХ

Page 13: Pair programming

РАБОТАТЬВ ПАРЕ

искусство

Page 14: Pair programming

navigator

driver

Один компьютер на двоих

Page 15: Pair programming

СтратегияТактика

Page 16: Pair programming

Так, что мы хотим получить?

ОПРЕДЕЛИТЬ ЦЕЛЬ

Page 17: Pair programming

Оставь, сделаем это завтра

ОПТИМИЗИРОВАТЬ

Page 18: Pair programming

Я выношу этот метод в

родительский класс...

ДУМАТЬ ВСЛУХ

Page 19: Pair programming

Зачем ты это делаешь?

ТРЕБОВАТЬАРГУМЕНТЫ

Page 20: Pair programming

ОЗВУЧИВАТЬ ОЖИДАНИЯ

Сейчас этот тест успешно пройдет

Page 21: Pair programming

ОПРОВЕРГАТЬ / ПОДТВЕРЖДАТЬДОПУЩЕНИЯ

Ага, щаз.

Page 22: Pair programming

Давай коммитнем и по кофе?

ПЛАНИРОВАТЬНАГРУЗКУ

Page 23: Pair programming

«спящий штурман»

Page 24: Pair programming

СОЗДАТЬ ЭФФЕКТИВНУЮ ПАРУ

предельно просто

Page 25: Pair programming

[новичок] [эксперт]

[эксперт] [эксперт]

[новичок] [новичок]

Page 26: Pair programming

Сегодня Петя будет работать вместе с Васей, Саша с

Наташей. Хорошего дня.[SM]

Page 27: Pair programming

Эй, я могу тебе чем-то помочь?

ОПЕРАЦИЯ

«ВНЕДРЕНИЕ»

Page 28: Pair programming

МЕНЯТЬСЯ РОЛЯМИ

Page 29: Pair programming

РИТМ!

РИТМ

РИТМ

Page 30: Pair programming

PING-PONG

STYLE

Page 31: Pair programming

CHESS-

CLOCK

STYLE

Page 32: Pair programming

ЦИФРЫубедительные

Page 33: Pair programming

*Cockburn, Williams The Costs and Benefits of Pair Programming (2000)

Программисты, работающие в паре,

всего на 15% медленнее

двух одиночек, но производят

несравнимо более качественный код

Page 34: Pair programming
Page 35: Pair programming

*Arisholm. Evaluating Pair Programming with Respect to System Complexity and Programmer Expertise (2007)

[БОЛЬШОЙ СЛОЖНЫЙ ПРОЕКТ]

[МАЛЕНЬКИЙПРОСТОЙПРОЕКТ]

+48%[качество]

+20%[скорость]

Page 36: Pair programming

*Cockburn, Williams The Costs and Benefits of Pair Programming (2000)

РАБОТА

ПРИНОСИТ

БОЛЬШЕ РАДОСТИ!

Page 37: Pair programming

КОГДА ИСПОЛЬЗОВАТЬ

абсолютно очевидно

Page 38: Pair programming

• ТРИВИАЛЬНЫЕ ЗАДАЧИ

• РУТИННАЯ РАБОТА

• ПРОТОТИПИРОВАНИЕ / ЭКСПЕРИМЕНТ

• БЫСТРЫЙ СТАРТ

• ТРЕНИРОВКА НОВИЧКОВ

• ПЕРЕДАЧА [НЕЯВНЫХ] ЗНАНИЙ

• СЛОЖНАЯ ФУНКЦИОНАЛЬНОСТЬ

• ПОИСК ОШИБКИ

Page 39: Pair programming

ИТОГО

Page 40: Pair programming

• ИНЖЕНЕРНЫЕ ПРАКТИКИ ВАЖНЫ

• ЭФФЕКТИВНАЯ РАБОТА В ПАРЕ ТРЕБУЕТ НАВЫКА

• ПАРНОЕ ПРОГРАММИРОВАНИЕ НЕ ТАК ДОРОГО, КАК КАЖЕТСЯ

• РАБОТАТЬ В ПАРЕ ВЫГОДНЕЕ ПОЧТИ ВСЕГДА

• РАБОТА В ПАРЕ ДЕЛАЕТ ЛЮДЕЙ СЧАСТЛИВЕЕ :)

Page 41: Pair programming

БЕРИСЬ И ДЕЛАЙ!

Короче,

Page 42: Pair programming

Я БЫЛА РАДА ПОДЕЛИТЬСЯ С ВАМИ!

@skolupaeva

Page 43: Pair programming

REFERENCES:

1. http://www.c2.com/cgi/wiki?PairProgramming2. http://en.wikipedia.org/wiki/Pair_programming3. Alistair Cockburn, Laurie Williams “The Costs and Benefits of

Pair Programming” (http://collaboration.csc.ncsu.edu/laurie/Papers/XPSardinia.PDF)

4. http://www.infoq.com/news/2009/06/dollar-value-of-pair-programming

5. Iwein Fuld “Practical Styles of Pair Programming” (http://blog.xebia.com/2010/05/09/practical-styles-of-pair-programming, http://smileart.in.ua/pair_programming)

6. Matt Stephens, Doug Rosenberg “Will Pair Programming Really Improve Your Project?” (http://www.methodsandtools.com/archive/archive.php?id=10)

7. Erick Arisholm “Evaluating Pair Programming with Respect to System Complexity and Programmer Expertise” (http://www.computer.org/portal/web/csdl/doi/10.1109/TSE.2007.17)

Page 44: Pair programming

CREDITS:

1. http://www.rusbanpar.ru2. http://doesbeccalove.com3. http://www.flickr.com/photos/pepsimist4. http://clip.dn.ua5. http://www.mastersgames.com6. http://blog.crisp.se/henrikkniberg7. http://www.11-bridges.com