Slide 1

Slide 1 text

www.dotnetconf.ru Agile 
 разработка + тестирование Александр Бындю Компания «Главснаб», технический директор

Slide 2

Slide 2 text

www.dotnetconf.ru Темпы разработки Время Функциональность

Slide 3

Slide 3 text

www.dotnetconf.ru ПН ВТ СР ЧТ ПТ Планирование итерации 
 Заказчик + разработчики + тестировщики 1 2 3 5 8 Я как… Залогиненый пользователь Могу… Выйти из личного кабинета, нажав ссылку «Выйти» При этом… •Попадаю на главную страницу •Выход из системы заносится в лог Я как… Залогиненый пользователь Могу… Выйти из личного кабинета, нажав ссылку «Выйти» При этом… •Попадаю на главную страницу •Выход из системы заносится в лог Я как… Залогиненый пользователь Могу… Выйти из личного кабинета, нажав ссылку «Выйти» При этом… •Попадаю на главную страницу •Выход из системы заносится в лог 3 1 2 2 1 1 Управление

Slide 4

Slide 4 text

www.dotnetconf.ru ПН ВТ СР ЧТ ПТ Ценность планирования – создание измеримого плана Управление

Slide 5

Slide 5 text

www.dotnetconf.ru ПН ВТ СР ЧТ ПТ Управление Визуализация результата

Slide 6

Slide 6 text

www.dotnetconf.ru ПН ВТ СР ЧТ ПТ Делаем ответвление

Slide 7

Slide 7 text

www.dotnetconf.ru ПН ВТ СР ЧТ ПТ Заливка новой версии Как выпустить релиз?

Slide 8

Slide 8 text

www.dotnetconf.ru Что помогает программистам? • Принципы проектирования SOLID • Рефакторинг • Test-Driven Development • Коммуникация –Стендапы –Парное программирование –Общее владение кодом • Постоянный рост над собой Разработка

Slide 9

Slide 9 text

www.dotnetconf.ru Принципы проектирования Single Responsibility Principle Open/Close Principle Liskov Substitusion Principle Interface Segregation Principle Dependency Inversion Principle Разработка

Slide 10

Slide 10 text

www.dotnetconf.ru Постоянный рефакторинг 1. улучшение того, что только что написал 2. улучшение системы в следствии внесения новой функциональности Разработка Рефакторинг возможен только при наличии модульных тестов

Slide 11

Slide 11 text

www.dotnetconf.ru Главное правило рефакторинга Лучшее – враг хорошего Разработка

Slide 12

Slide 12 text

www.dotnetconf.ru Рефакторинг и технические долги Разработка

Slide 13

Slide 13 text

www.dotnetconf.ru Test-Driven Development ―Рефакторинг ―Документация к коду ―Проектирование ―Покрытие тестами Разработка 1. Пишем тест 2. Пишем код, чтобы тест скомпилировался 3. Запускаем тест – он не проходит 4. Реализуем функциональность пока тест не пройдет 5. Делаем рефакторинг

Slide 14

Slide 14 text

www.dotnetconf.ru Что помогает тестировщикам? • Раннее обнаружение ошибок • Фиксация ошибки в интеграционных тестах • Автоматизация запуска всего набора тестов • Аудит на живых серверах Разаботка Тестирование

Slide 15

Slide 15 text

www.dotnetconf.ru Раннее обнаружение ошибок Тестирование Стоимость обнаружения Время Планирование Разработка Тестирование Выпуск

Slide 16

Slide 16 text

www.dotnetconf.ru А если возникают ошибки? 1. Восстанавливаем ошибку с помощью интеграционного теста Тестирование 3. Интеграционный тест проходит, а значит такая ошибка больше не повторится 2. Если нет сложности в исправлении, то проблему решает сам тестировщик, иначе переходит программисту

Slide 17

Slide 17 text

www.dotnetconf.ru Автоматизация запуска 
 всего набора тестов Запуск каждую ночь или «по щелчку» Тестирование

Slide 18

Slide 18 text

www.dotnetconf.ru Аудит • Специальный сервис отслеживает запуск консольных приложений • Ошибки подробно логируются на живых серверах в момент возникновения Тестирование

Slide 19

Slide 19 text

www.dotnetconf.ru ПН ВТ СР ЧТ ПТ Ретроспектива – 
 оценка результата итерации ―Какие есть проблемы? ―Что можно улучшить? Управление

Slide 20

Slide 20 text

www.dotnetconf.ru ПН ВТ СР ЧТ ПТ Куда девать незаконченные карточки? Управление

Slide 21

Slide 21 text

www.dotnetconf.ru Темпы разработки Время Функциональность

Slide 22

Slide 22 text

www.dotnetconf.ru Границы применимости

Slide 23

Slide 23 text

www.dotnetconf.ru Динамика изменений (% в месяц) 30 10 5 1 50 70 50 30 10 90 Культура (% анархия против порядка) бюджет проекта серьезные средства жизнь человека жизни многих комфорт Критичность (потери из-за дефектов) 80 70 50 30 90 Квалификация % новичков / % матёрых 20 30 50 70 10 Размер (кол-во участников) 10 30 50 3 100 Можем себе позволить Осваивание бюджета Частный бизнес Заинтересованность руководства в эффективности Работаю и ладно

Slide 24

Slide 24 text

www.dotnetconf.ru Обратная связь [email protected] http://blog.byndyu.ru alexanderbyndyu