uwdc'12, Александр Макаров, О командной разработке и...
TRANSCRIPT
![Page 1: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/1.jpg)
О командной разработке и фреймворках
Александр Макаров, Yii Core Team
![Page 2: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/2.jpg)
План
• Зачем команда? • Что за проблемы?
Как решать? • Тулзы. • Фреймворк.
![Page 3: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/3.jpg)
Зачем?!
• Одному легко! • Нет болтовни. • Нет совещаний. • Нет споров.
![Page 4: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/4.jpg)
![Page 5: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/5.jpg)
• Объём. • Сроки. • Рутина. • Конвейер. • …
![Page 6: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/6.jpg)
![Page 7: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/7.jpg)
Нужна команда!
![Page 8: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/8.jpg)
Проблемы?
• Координация • Коммуникация • Понимание
![Page 9: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/9.jpg)
Задача
• Эффективность = низкие накладные расходы на взаимодействие.
![Page 10: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/10.jpg)
Меньше народу
• 5—7, максимум 9 (для одарённого руководителя)
• Субкоманды.
![Page 11: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/11.jpg)
Кстати…
• Тимлид как программист не сильно эффективен.
![Page 12: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/12.jpg)
Нельзя!
• Не ставить двух senoir-ов на пересекающиеся задачи.
![Page 13: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/13.jpg)
Доверие
• Открытость. • Нет политике. • Все шишки лиду.
![Page 14: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/14.jpg)
Команда — это люди…
![Page 15: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/15.jpg)
Не понимают = не тот подход
![Page 16: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/16.jpg)
Исключение — языковой барьер
![Page 17: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/17.jpg)
Примеры…
![Page 18: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/18.jpg)
Застенчивые
![Page 19: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/19.jpg)
«Чётко по плану»
![Page 20: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/20.jpg)
Как не напрягать
• Менеджеру программистов • Программистам менеджера
![Page 21: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/21.jpg)
Тулзы
• Правильные тулзы — половина успеха. • Их нужно понимать. • Их нужно использовать.
![Page 22: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/22.jpg)
Распределённая команда
• DVCS + автодеплой • Wiki • Тикеты • Почта • Skype
![Page 23: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/23.jpg)
Git
• http://nvie.com/posts/a-successful-git-branching-model/
• SVN легко применить в небольших командах
![Page 24: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/24.jpg)
Деплой
• FTP в топку! • Пост-коммит (push) хуки (deploy hook) • Тесты • Копирование • Чистка кеша • …
![Page 25: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/25.jpg)
Деплой
• Скрипт на PHP / Bash • Jenkins • Teamcity
![Page 26: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/26.jpg)
Wiki и документация
• Readme driven development • Заметки «для себя» • Описание сложных фич
![Page 27: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/27.jpg)
Тикеты
• Assembla • Pivotal Tracker • GitHub • …
![Page 28: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/28.jpg)
Все в одной комнате
• Git/SVN + деплой • Почта • Wiki • Лайт-версия тикетов
![Page 29: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/29.jpg)
Бонус
![Page 30: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/30.jpg)
На чём делать веб-проекты?
![Page 31: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/31.jpg)
PHP?
• Проще • Дешевле • Не хуже
![Page 32: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/32.jpg)
Зачем фреймворк
• Рамки • Стандарт • Реюз • Штуки из коробки • Сообщество
![Page 33: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/33.jpg)
Реюз
![Page 34: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/34.jpg)
Миграции
• Синхронизация код-база • Автонакат изменений
![Page 35: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/35.jpg)
Документация
![Page 36: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/36.jpg)
Сообщество
![Page 37: UWDC'12, Александр Макаров, О командной разработке и фреймворках](https://reader033.vdocuments.site/reader033/viewer/2022042601/556491e5d8b42a73418b5432/html5/thumbnails/37.jpg)
Спасибо
• Вопросы? • Дополнения?
• http://yiiframework.com/ • http://yiiframework.ru/ • http://rmcreative.ru/