Использование сервера Continuous Integration для разработки мобильных приложений
Agile на практике
1. 5-я конференция .NET разработчиков
21 октября 2012
www.dotnetconf.ru
Agile на практике
Бындю Александр
http://www.byndyu.ru
2. Обо мне
Знакомы с Agile?
Ценности 1. Владелец компании ByndyuSoft
soft.byndyu.ru
Принципы
Практики
2. Консультант по вопросам разработки
приложений и организации работы IT
Финансы компаний
Результаты
3. Внештатный сотрудник Академии АйТи
Заказчик
4. Технический блог http://blog.byndyu.ru
Команда
Типы проектов 5. Преподаю в ЮУрГУ
Startup 6. Организую конференции .NET-
Заказное ПО
разработчиков
http://www.dotnetconf.ru
Продукт
Выбор Agile
7. Веду группу в Google Group по проблемам
разработки приложений
Внедрение http://groups.google.com/dotnetconf
«Agile на практике» – Александр Бындю, ByndyuSoft 2
3. Знакомы с Agile?
Ценности
Принципы
Знакомы
Практики
Финансы
Результаты
Заказчик
с Agile?
Команда
Типы проектов
Startup
Заказное ПО
Продукт
Выбор Agile
Внедрение
«Agile на практике» – Александр Бындю, ByndyuSoft 3
4. Знакомы с Agile?
Ценности
Ценности Agile
Принципы
Agile Не Agile
Практики
Финансы Люди и взаимодействие vs Процессы и инструменты
Результаты
Заказчик Исчерпывающая
Команда
Работающий продукт vs документация
Типы проектов
Сотрудничество с Согласования условий
Startup
заказчиком vs контракта
Заказное ПО
Следование
Продукт
Выбор Agile
Готовность к изменениям vs первоначальному плану
Внедрение http://agilemanifesto.org/iso/ru
«Agile на практике» – Александр Бындю, ByndyuSoft 4
5. Знакомы с Agile?
Ценности
Ценности по-настоящему
Разработка ПО в целом
Принципы
Практики
Финансы
Результаты
Люди и взаимодействие и Процессы и инструменты
и Исчерпывающая
Заказчик
Работающий продукт
Команда документация
Типы проектов
Сотрудничество с
Startup
заказчиком и Согласования условий
контракта
Заказное ПО
Готовность к
Продукт
изменениям и Следование
первоначальному плану
Выбор Agile
Внедрение http://agilemanifesto.org/iso/ru
«Agile на практике» – Александр Бындю, ByndyuSoft 5
6. Знакомы с Agile?
Ценности
Принципы Agile
Принципы 1. Наивысшим приоритетом для нас является удовлетворение
потребностей заказчика, благодаря регулярной и ранней
Практики поставке ценного программного обеспечения.
Финансы
2. Изменение требований приветствуется, даже на поздних стадиях
Результаты
разработки. Agile-процессы позволяют использовать изменения
Заказчик для обеспечения заказчику конкурентного преимущества.
Команда
3. Работающий продукт следует выпускать как можно чаще, с
Типы проектов периодичностью от пары недель до пары месяцев.
Startup
4. На протяжении всего проекта разработчики и представители
Заказное ПО бизнеса должны ежедневно работать вместе.
Продукт
5. Над проектом должны работать мотивированные…
Выбор Agile
Внедрение http://agilemanifesto.org/iso/ru/principles.html
«Agile на практике» – Александр Бындю, ByndyuSoft 6
7. XP (12) Scrum (9) Kanban (3)
Знакомы с Agile?
Ценности 1. Whole team 1. Scrum Master 1. Visualize the
2. Coding 2. Product Owner workflow
Принципы
standard 2. Limit WIP
3. Team
Практики 3. TDD
4. Sprint planning 3. Measure and
Финансы 4. Collective meeting optimize lead
ownership time
Результаты 5. Daily Scrum
5. Customer
Заказчик tests 6. Sprint review
Команда 6. Pair 7. Product backlog
programming 8. Sprint backlog
Типы проектов
7. Refactoring
Startup 9. Burndown chart
8. Planning
Заказное ПО game
Продукт 9. Continuous
integration
Выбор Agile Процесс
10. Simple design
Внедрение
Инженерные практики
11. Sustainable
pace
«Agile на практике» – Александр Бындю, ByndyuSoft
12. Small releases 7
8. Знакомы с Agile?
Ценности
Agile и финансы
Принципы
Практики
Fixed Price T&M
Финансы Предоплата? Предоплата
Результаты
Заказчик Итерация
Команда
Оплата
Типы проектов Длительный
Startup период Предоплата
Заказное ПО
Итерация
Продукт
Выбор Agile Оплата…
Внедрение Оплата
«Agile на практике» – Александр Бындю, ByndyuSoft 8
9. Знакомы с Agile?
Ценности
Результат при Fixed Price
Принципы
Практики
Финансы Риски
Результаты
Заказчик
Команда Реально
Типы проектов можно
Меньше
Startup сделать максимального,
Заказное ПО зато надежно
Продукт
Выбор Agile
Внедрение
«Agile на практике» – Александр Бындю, ByndyuSoft 9
10. Знакомы с Agile? Результат при T&M
Ценности
Принципы Заказчик
Практики 1. Сделают меньше, чем
Финансы Делаем, пока возможно
2. Пропадут в любой момент
Результаты есть что 3. Доверие к команде
Заказчик делать…
Команда
Типы проектов Исполнители
Startup
Заказное ПО
Scope? 1. Проект может закончится в
любой момент
2. Частое изменение
Продукт требований требует
Выбор Agile отличного кода
Внедрение
3. Доверие к заказчику
«Agile на практике» – Александр Бындю, ByndyuSoft 10
11. Знакомы с Agile?
Команды и Scope
Ценности
Принципы
Практики
Финансы
Результаты
Cost Time Cost Time
Заказчик
Команда
Типы проектов
Startup
Заказное ПО
Продукт Scope Scope
Выбор Agile
Плохая команда Хорошая команда
Внедрение
«Agile на практике» – Александр Бындю, ByndyuSoft 11
12. Знакомы с Agile?
Заказчик
Ценности
Принципы
Практики
Финансы
Результаты
Заказчик
Команда
Зачем заказчику Agile?
Типы проектов • Регулярно получать новую версию ПО
Startup • Возможность менять требования
• Постоянное общение с командой, лучшая коммуникация
Заказное ПО
• Постоянный ритм бесконечно
Продукт • Высокий уровень кода в проекте
• Минимизация лишней работы
Выбор Agile
• Регулировать сроки проекта
Внедрение • Страхование финансовых и временных рисков
«Agile на практике» – Александр Бындю, ByndyuSoft 12
13. Знакомы с Agile? Команда
Ценности
Принципы
Практики
Процесс
Финансы
Результаты
Заказчик
Команда
Типы проектов
Зачем команде Agile?
• «Законная» адаптация инженерных практик
Startup • Постоянное общение с заказчиком, лучшая коммуникация
Заказное ПО • Уменьшение роли менеджера
• Внимание к техническому совершенству
Продукт • Постоянная обратная связь
Выбор Agile • Приверженность общей идее
• Смелость, прозрачный процесс
Внедрение
«Agile на практике» – Александр Бындю, ByndyuSoft 13
14. Типы проектов
Знакомы с Agile?
Ценности
Принципы
1. Startup
Практики
Процесс
Финансы
Результаты
Заказчик
2. Заказная разработка
Команда
Типы проектов
3. Продукт
Startup
Заказное ПО
Продукт
Выбор Agile
Внедрение
«Agile на практике» – Александр Бындю, ByndyuSoft 14
15. Знакомы с Agile? Startup
Ценности
Принципы долгосрочно
Практики стабильно
Процесс
Финансы
Результаты
Заказчик
Команда
быстрый старт
Типы проектов
Startup
Заказное ПО Зачем инвестору Agile?
• Проверка идеи: быстрый прототип
Продукт
• Скорейший выход на рынок
Выбор Agile • Реагирование на изменения
• Быстрый провал проекта
Внедрение
«Agile на практике» – Александр Бындю, ByndyuSoft 15
16. Знакомы с Agile? Заказная разработка
Ценности
Принципы
Практики
Процесс
Финансы
Результаты
Заказчик
Команда
Типы проектов
Зачем заказчику Agile?
• Заказчику Agile не нужен
Startup
• Оцените ТЗ (типа задание или точка зрения)
Заказное ПО • Fixed Price
Продукт • Нулевой спринт
Выбор Agile • Длительная стадия анализа
Внедрение
«Agile на практике» – Александр Бындю, ByndyuSoft 16
17. Знакомы с Agile? Продуктовая разработка
Ценности
Принципы
Практики
Процесс
Финансы
Результаты
Заказчик
Команда Agile для создания продуктов
Типы проектов • Длительные проекты
Startup • Постоянный уход за бэклогом
Заказное ПО
• Постоянные спринты и ретроспективы
• Поток задач, а не планирование
Продукт
• Взаимодействие разных отделов
Выбор Agile • Постоянная поддержка и обновление
Внедрение
«Agile на практике» – Александр Бындю, ByndyuSoft 17
19. Знакомы с Agile? Внедрение
Ценности
Принципы
Практики
Процесс
Финансы
Результаты
Заказчик
Команда
Типы проектов
Agile для создания продуктов
Startup
• Сначала процесс или инженерные практики?
Заказное ПО
• Нет инженеров, внедряют процесс
Продукт
• Знают практики не знают принципы
Выбор Agile
• Scrum-Butt
Внедрение
«Agile на практике» – Александр Бындю, ByndyuSoft 19
20. Спасибо за внимание!
Буду рад ответить на ваши
вопросы лично или через:
blog.byndyu.ru
alexanderbyndyu
alexander.byndyu@gmail.com
«Agile на практике» – Александр Бындю, ByndyuSoft 20