SlideShare a Scribd company logo
1 of 22
Как украинцы ТDD
внедряли
Юлия Пучнина, Datatile
Юлия
probably-kira
Yulia Puchnina
yulia.puchnina
Что такое TDD
- для кого-то провал
- для кого-то история успеха
- для кого-то новая игрушка
- для кого-то попытка все исправить
TDD как метод разработки
- код работает стабильно
- эти тесты заменяют спецификацию
- процесс рефакторинга упрощается в
разы
Заявленые преимущества
… говорили они, Карл!
Преимущества
- Время на разработку увеличивается на
40%*
...но кого это волнует
* согласно британским ученым
Известные недостатки
Давным-давно, в далекой
галактике, кто-то решил
попробовать TDD у себя на
проекте
- Очень высокий порог вхождения
Проблема #1
- Очень высокий порог вхождения
- Очень непривычная модель разработки
Проблема #2
- Очень высокий порог вхождения
- Очень непривычная модель разработки
- Действительно отнимает кучу времени
Проблема #3
- Очень высокий порог вхождения
- Очень непривычная модель разработки
- Действительно отнимает кучу времени
- НЕВЕРОЯТНО НУДНО
Проблема #4
- Очень высокий порог вхождения
- Очень непривычная модель разработки
- Действительно отнимает кучу времени
- НЕВЕРОЯТНО НУДНО
Проблема #4
- код действительно работает стабильно
- эти тесты действительно заменяют
спецификацию
На самом деле, есть и плюсы
- уровень разработчика растет
- если вам нечем больше занять
команду, TDD для вас
На самом деле, есть и плюсы
Почему внедрение TDD у
нас в проекте кажется мне
провальным?
- нулевое business-value
Причины просты
- нулевое business-value
- разработчик довольно быстро охладел
Причины просты
- нулевое business-value
- разработчик довольно быстро охладел
- аджайл ради аджайла
Причины просты
- нулевое business-value
- разработчик довольно быстро охладел
- аджайл ради аджайла
Причины просты
Kent Beck “Test Driven Development: By Example”
Roy Osherove “The Art of Unit Testing”
Martin Fowler “Refactoring”
Joshua Kerievsky “Refactoring to Patterns”
Michael Feathers “Working Effectively with Legacy Code”
Все еще хотите попробовать?
Всем спасибо! Вопросы?

More Related Content

What's hot

Team maturity. Denys Ryzhykh
Team maturity. Denys RyzhykhTeam maturity. Denys Ryzhykh
Team maturity. Denys RyzhykhLviv Startup Club
 
почему буксует тайм менеджмент
почему буксует тайм менеджментпочему буксует тайм менеджмент
почему буксует тайм менеджментetyumentcev
 
"TDD: Сомнения. Преимущества. Действия." от Юлии Пучниной
"TDD: Сомнения. Преимущества. Действия." от Юлии Пучниной"TDD: Сомнения. Преимущества. Действия." от Юлии Пучниной
"TDD: Сомнения. Преимущества. Действия." от Юлии ПучнинойSCRUMguides
 
павел мильков знания и умения тестировщиков
павел мильков   знания и умения тестировщиковпавел мильков   знания и умения тестировщиков
павел мильков знания и умения тестировщиковAlexei Lupan
 
9 релизов в неделю, 15 разработчиков, 4 тестировщика. Секрет успеха
9 релизов в неделю, 15 разработчиков, 4 тестировщика. Секрет успеха9 релизов в неделю, 15 разработчиков, 4 тестировщика. Секрет успеха
9 релизов в неделю, 15 разработчиков, 4 тестировщика. Секрет успехаSQALab
 
"Хотели как лучше, а не получилось" Бандура Анна, Рощупкин Виталий, Рычков Ан...
"Хотели как лучше, а не получилось" Бандура Анна, Рощупкин Виталий, Рычков Ан..."Хотели как лучше, а не получилось" Бандура Анна, Рощупкин Виталий, Рычков Ан...
"Хотели как лучше, а не получилось" Бандура Анна, Рощупкин Виталий, Рычков Ан...it-people
 
Михаил Павлов - is a tester responsible for quality
Михаил Павлов - is a tester responsible for qualityМихаил Павлов - is a tester responsible for quality
Михаил Павлов - is a tester responsible for qualityAlexei Lupan
 

What's hot (8)

TDD
TDDTDD
TDD
 
Team maturity. Denys Ryzhykh
Team maturity. Denys RyzhykhTeam maturity. Denys Ryzhykh
Team maturity. Denys Ryzhykh
 
почему буксует тайм менеджмент
почему буксует тайм менеджментпочему буксует тайм менеджмент
почему буксует тайм менеджмент
 
"TDD: Сомнения. Преимущества. Действия." от Юлии Пучниной
"TDD: Сомнения. Преимущества. Действия." от Юлии Пучниной"TDD: Сомнения. Преимущества. Действия." от Юлии Пучниной
"TDD: Сомнения. Преимущества. Действия." от Юлии Пучниной
 
павел мильков знания и умения тестировщиков
павел мильков   знания и умения тестировщиковпавел мильков   знания и умения тестировщиков
павел мильков знания и умения тестировщиков
 
9 релизов в неделю, 15 разработчиков, 4 тестировщика. Секрет успеха
9 релизов в неделю, 15 разработчиков, 4 тестировщика. Секрет успеха9 релизов в неделю, 15 разработчиков, 4 тестировщика. Секрет успеха
9 релизов в неделю, 15 разработчиков, 4 тестировщика. Секрет успеха
 
"Хотели как лучше, а не получилось" Бандура Анна, Рощупкин Виталий, Рычков Ан...
"Хотели как лучше, а не получилось" Бандура Анна, Рощупкин Виталий, Рычков Ан..."Хотели как лучше, а не получилось" Бандура Анна, Рощупкин Виталий, Рычков Ан...
"Хотели как лучше, а не получилось" Бандура Анна, Рощупкин Виталий, Рычков Ан...
 
Михаил Павлов - is a tester responsible for quality
Михаил Павлов - is a tester responsible for qualityМихаил Павлов - is a tester responsible for quality
Михаил Павлов - is a tester responsible for quality
 

More from ITSpringBY

Юрий Чернявский - Вам с кровью или без? - Проблемы выбора методологии разрабо...
Юрий Чернявский - Вам с кровью или без? - Проблемы выбора методологии разрабо...Юрий Чернявский - Вам с кровью или без? - Проблемы выбора методологии разрабо...
Юрий Чернявский - Вам с кровью или без? - Проблемы выбора методологии разрабо...ITSpringBY
 
Наталья Макаева - Лидерами рождаются или становятся?
Наталья Макаева - Лидерами рождаются или становятся?Наталья Макаева - Лидерами рождаются или становятся?
Наталья Макаева - Лидерами рождаются или становятся?ITSpringBY
 
Дмитрий Kaневский - Люди всегда побеждают
Дмитрий Kaневский - Люди всегда побеждаютДмитрий Kaневский - Люди всегда побеждают
Дмитрий Kaневский - Люди всегда побеждаютITSpringBY
 
Сергей Дерцап - Risks management. Why not?
Сергей Дерцап - Risks management. Why not?Сергей Дерцап - Risks management. Why not?
Сергей Дерцап - Risks management. Why not?ITSpringBY
 
Сергей Бережной - Как пасти… самомотивированные команды
Сергей Бережной - Как пасти… самомотивированные командыСергей Бережной - Как пасти… самомотивированные команды
Сергей Бережной - Как пасти… самомотивированные командыITSpringBY
 
Светлана Мухина - Коучинг на практике: рабочие примеры и техники
Светлана Мухина - Коучинг на практике: рабочие примеры и техникиСветлана Мухина - Коучинг на практике: рабочие примеры и техники
Светлана Мухина - Коучинг на практике: рабочие примеры и техникиITSpringBY
 
Павел Лебедев - Управление взаимоотношениями с инвесторами и привлечение фина...
Павел Лебедев - Управление взаимоотношениями с инвесторами и привлечение фина...Павел Лебедев - Управление взаимоотношениями с инвесторами и привлечение фина...
Павел Лебедев - Управление взаимоотношениями с инвесторами и привлечение фина...ITSpringBY
 
Дмитрий Безуглый - Стратегическое планирование в условиях быстрых изменений
Дмитрий Безуглый - Стратегическое планирование в условиях быстрых измененийДмитрий Безуглый - Стратегическое планирование в условиях быстрых изменений
Дмитрий Безуглый - Стратегическое планирование в условиях быстрых измененийITSpringBY
 
Денис Филеев - Невыносимая легкость бытия - сложность принятия простых решений
Денис Филеев - Невыносимая легкость бытия - сложность принятия простых решенийДенис Филеев - Невыносимая легкость бытия - сложность принятия простых решений
Денис Филеев - Невыносимая легкость бытия - сложность принятия простых решенийITSpringBY
 
Gary Jones - Managing Agile teams
Gary Jones - Managing Agile teamsGary Jones - Managing Agile teams
Gary Jones - Managing Agile teamsITSpringBY
 
Степан Данилов - Стартап: как управлять командой которой еще нет
Степан Данилов - Стартап: как управлять командой которой еще нетСтепан Данилов - Стартап: как управлять командой которой еще нет
Степан Данилов - Стартап: как управлять командой которой еще нетITSpringBY
 
Руслан Плахута - Внедрение BDD в распределенные команды
Руслан Плахута - Внедрение BDD в распределенные командыРуслан Плахута - Внедрение BDD в распределенные команды
Руслан Плахута - Внедрение BDD в распределенные командыITSpringBY
 
Павел Чуняев - State of Continuous Delivery in 2015
Павел Чуняев - State of Continuous Delivery in 2015Павел Чуняев - State of Continuous Delivery in 2015
Павел Чуняев - State of Continuous Delivery in 2015ITSpringBY
 
Богдан Мисюра и Андрей Павленко - Реалии внедрения скрама в аутсорсинговые ко...
Богдан Мисюра и Андрей Павленко - Реалии внедрения скрама в аутсорсинговые ко...Богдан Мисюра и Андрей Павленко - Реалии внедрения скрама в аутсорсинговые ко...
Богдан Мисюра и Андрей Павленко - Реалии внедрения скрама в аутсорсинговые ко...ITSpringBY
 
Ирина Тетерук - Принципы Lean-Agile лидерства
Ирина Тетерук - Принципы Lean-Agile лидерстваИрина Тетерук - Принципы Lean-Agile лидерства
Ирина Тетерук - Принципы Lean-Agile лидерстваITSpringBY
 
Дмитрий Лобасев - Что отличает крутую команду от крутой Agile-команды
Дмитрий Лобасев - Что отличает крутую команду от крутой Agile-командыДмитрий Лобасев - Что отличает крутую команду от крутой Agile-команды
Дмитрий Лобасев - Что отличает крутую команду от крутой Agile-командыITSpringBY
 
Андрей Лепеев - HR Lego Менеджмент компетенций
Андрей Лепеев - HR Lego Менеджмент компетенцийАндрей Лепеев - HR Lego Менеджмент компетенций
Андрей Лепеев - HR Lego Менеджмент компетенцийITSpringBY
 

More from ITSpringBY (17)

Юрий Чернявский - Вам с кровью или без? - Проблемы выбора методологии разрабо...
Юрий Чернявский - Вам с кровью или без? - Проблемы выбора методологии разрабо...Юрий Чернявский - Вам с кровью или без? - Проблемы выбора методологии разрабо...
Юрий Чернявский - Вам с кровью или без? - Проблемы выбора методологии разрабо...
 
Наталья Макаева - Лидерами рождаются или становятся?
Наталья Макаева - Лидерами рождаются или становятся?Наталья Макаева - Лидерами рождаются или становятся?
Наталья Макаева - Лидерами рождаются или становятся?
 
Дмитрий Kaневский - Люди всегда побеждают
Дмитрий Kaневский - Люди всегда побеждаютДмитрий Kaневский - Люди всегда побеждают
Дмитрий Kaневский - Люди всегда побеждают
 
Сергей Дерцап - Risks management. Why not?
Сергей Дерцап - Risks management. Why not?Сергей Дерцап - Risks management. Why not?
Сергей Дерцап - Risks management. Why not?
 
Сергей Бережной - Как пасти… самомотивированные команды
Сергей Бережной - Как пасти… самомотивированные командыСергей Бережной - Как пасти… самомотивированные команды
Сергей Бережной - Как пасти… самомотивированные команды
 
Светлана Мухина - Коучинг на практике: рабочие примеры и техники
Светлана Мухина - Коучинг на практике: рабочие примеры и техникиСветлана Мухина - Коучинг на практике: рабочие примеры и техники
Светлана Мухина - Коучинг на практике: рабочие примеры и техники
 
Павел Лебедев - Управление взаимоотношениями с инвесторами и привлечение фина...
Павел Лебедев - Управление взаимоотношениями с инвесторами и привлечение фина...Павел Лебедев - Управление взаимоотношениями с инвесторами и привлечение фина...
Павел Лебедев - Управление взаимоотношениями с инвесторами и привлечение фина...
 
Дмитрий Безуглый - Стратегическое планирование в условиях быстрых изменений
Дмитрий Безуглый - Стратегическое планирование в условиях быстрых измененийДмитрий Безуглый - Стратегическое планирование в условиях быстрых изменений
Дмитрий Безуглый - Стратегическое планирование в условиях быстрых изменений
 
Денис Филеев - Невыносимая легкость бытия - сложность принятия простых решений
Денис Филеев - Невыносимая легкость бытия - сложность принятия простых решенийДенис Филеев - Невыносимая легкость бытия - сложность принятия простых решений
Денис Филеев - Невыносимая легкость бытия - сложность принятия простых решений
 
Gary Jones - Managing Agile teams
Gary Jones - Managing Agile teamsGary Jones - Managing Agile teams
Gary Jones - Managing Agile teams
 
Степан Данилов - Стартап: как управлять командой которой еще нет
Степан Данилов - Стартап: как управлять командой которой еще нетСтепан Данилов - Стартап: как управлять командой которой еще нет
Степан Данилов - Стартап: как управлять командой которой еще нет
 
Руслан Плахута - Внедрение BDD в распределенные команды
Руслан Плахута - Внедрение BDD в распределенные командыРуслан Плахута - Внедрение BDD в распределенные команды
Руслан Плахута - Внедрение BDD в распределенные команды
 
Павел Чуняев - State of Continuous Delivery in 2015
Павел Чуняев - State of Continuous Delivery in 2015Павел Чуняев - State of Continuous Delivery in 2015
Павел Чуняев - State of Continuous Delivery in 2015
 
Богдан Мисюра и Андрей Павленко - Реалии внедрения скрама в аутсорсинговые ко...
Богдан Мисюра и Андрей Павленко - Реалии внедрения скрама в аутсорсинговые ко...Богдан Мисюра и Андрей Павленко - Реалии внедрения скрама в аутсорсинговые ко...
Богдан Мисюра и Андрей Павленко - Реалии внедрения скрама в аутсорсинговые ко...
 
Ирина Тетерук - Принципы Lean-Agile лидерства
Ирина Тетерук - Принципы Lean-Agile лидерстваИрина Тетерук - Принципы Lean-Agile лидерства
Ирина Тетерук - Принципы Lean-Agile лидерства
 
Дмитрий Лобасев - Что отличает крутую команду от крутой Agile-команды
Дмитрий Лобасев - Что отличает крутую команду от крутой Agile-командыДмитрий Лобасев - Что отличает крутую команду от крутой Agile-команды
Дмитрий Лобасев - Что отличает крутую команду от крутой Agile-команды
 
Андрей Лепеев - HR Lego Менеджмент компетенций
Андрей Лепеев - HR Lego Менеджмент компетенцийАндрей Лепеев - HR Lego Менеджмент компетенций
Андрей Лепеев - HR Lego Менеджмент компетенций
 

Юлия Пучнина - Внедрение TDD на большом-пребольшом проекте