SlideShare uma empresa Scribd logo
1 de 21
Введение в инженерные
практики XP
Anton Katkov
ЗНАКОМСТВО
Знакомство
•   Антон Катков
•   Дмитрий Паньшин
•   Евгений Хамухин
•   Александр Бындю
Вопрос



• Какие практики вы используете у себя?
План
•   Code Review & Pair Programming
•   Unit tests
•   Refactoring
•   Build Automation
•   Continuous Integration
•   Test Driven Development
ОСНОВНЫЕ ПОНЯТИЯ
Вопрос



• Какие метрики качества кода вы
  используете?


подсказка: большую часть времени код читается (порядка 80% и больше)
Основная метрика для кода
Запахи кода (Code smells)
•   Code Duplication
•   Long method
•   Large class
•   Comments
•   …

Список запахов кода
Ценности XP
•   Simplicity
•   Communication
•   Feedback
•   Respect
•   Courage
Чистый код, который работает


• «Clean code, that works»
Правило бойскаута


• «Оставь место стоянки чище, чем оно было
  до твоего прихода»
XP – идеальный процесс?


• Идеальный процесс VS процесс сходящийся
  к идеальному
А ЗАЧЕМ НУЖНО XP?
Вопрос



• Так зачем нужно eXtreame Programming?
Существующие проблемы
• Изменяющиеся требования
• Ограниченность сроков
• Недовольство работой в команде
  разработчиков
• Стоимость исправления ошибок
Стоимость изменений и ошибок
• Сколько будет стоить нахождение и исправление
  ошибки
  –   Совершенную минуту назад?
  –   Совершенную вчера?
  –   Совершенную на прошлой неделе?
  –   Совершенную в прошлом месяце?
  –   Совершенную в прошлом году?
Стоимость изменений для XP
Наша цель на инженерном треке


• Дать твёрдый фундамент для дальнейшего
  развития навыков.
НАША ИСТОРИЯ

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Способы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированиюСпособы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированию
 
Построение процесса тестирования производительности игрового клиента
Построение процесса тестирования производительности игрового клиентаПостроение процесса тестирования производительности игрового клиента
Построение процесса тестирования производительности игрового клиента
 
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
 
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под WindowsWinium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
 
Фокус тест
Фокус тестФокус тест
Фокус тест
 
Maybe some qa
Maybe some qaMaybe some qa
Maybe some qa
 
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовНепрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
 
The fast and the continuous
The fast and the continuousThe fast and the continuous
The fast and the continuous
 
Roman Marinsky "Ретроспектива вивчення UI автоматизації"
Roman Marinsky "Ретроспектива вивчення UI автоматизації"Roman Marinsky "Ретроспектива вивчення UI автоматизації"
Roman Marinsky "Ретроспектива вивчення UI автоматизації"
 
Новый процесс тестирования на "старом" проекте
Новый процесс тестирования на "старом" проектеНовый процесс тестирования на "старом" проекте
Новый процесс тестирования на "старом" проекте
 
Сетевые снифферы в тестировании
Сетевые снифферы в тестированииСетевые снифферы в тестировании
Сетевые снифферы в тестировании
 
Гибкое тестирование
Гибкое тестированиеГибкое тестирование
Гибкое тестирование
 
Виталий Стрелюк
Виталий СтрелюкВиталий Стрелюк
Виталий Стрелюк
 
DevOps - позволь работе приносить удовольствие
DevOps - позволь работе приносить удовольствиеDevOps - позволь работе приносить удовольствие
DevOps - позволь работе приносить удовольствие
 
Maybe some mock_true
Maybe some mock_trueMaybe some mock_true
Maybe some mock_true
 
Автоматизация тестирования: доступна каждому или удел избранных?
Автоматизация тестирования: доступна каждому или удел избранных?Автоматизация тестирования: доступна каждому или удел избранных?
Автоматизация тестирования: доступна каждому или удел избранных?
 
SharePoint Code Quality
SharePoint Code QualitySharePoint Code Quality
SharePoint Code Quality
 
Подводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
Подводная часть айсберга: что делать, чтобы автотесты не превратились в ТитаникПодводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
Подводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
 
Автоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегийАвтоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегий
 
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
 

Destaque

Destaque (20)

Future4kist 1.4
Future4kist 1.4Future4kist 1.4
Future4kist 1.4
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Scrum and XP in practice
Scrum and XP in practiceScrum and XP in practice
Scrum and XP in practice
 
Андрій Кушнарьов «Agile планування проектів»
Андрій Кушнарьов «Agile планування проектів»Андрій Кушнарьов «Agile планування проектів»
Андрій Кушнарьов «Agile планування проектів»
 
Introduction to Agile
Introduction to AgileIntroduction to Agile
Introduction to Agile
 
Коварный Tracer Bullet Development
Коварный Tracer Bullet DevelopmentКоварный Tracer Bullet Development
Коварный Tracer Bullet Development
 
eXtreme Programming
eXtreme ProgrammingeXtreme Programming
eXtreme Programming
 
TDD in functional testing with WebDriver
TDD in functional testing with WebDriverTDD in functional testing with WebDriver
TDD in functional testing with WebDriver
 
Extreme banking
Extreme bankingExtreme banking
Extreme banking
 
Agile Feedback Loops (ukr)
Agile Feedback Loops (ukr)Agile Feedback Loops (ukr)
Agile Feedback Loops (ukr)
 
Экстремальное программирование (XP – extreme programming)
Экстремальное программирование (XP – extreme programming)Экстремальное программирование (XP – extreme programming)
Экстремальное программирование (XP – extreme programming)
 
TDD for DB integration
TDD for DB integrationTDD for DB integration
TDD for DB integration
 
Tech Lead role for Agile success
Tech Lead role for Agile successTech Lead role for Agile success
Tech Lead role for Agile success
 
Agile Evolution
Agile EvolutionAgile Evolution
Agile Evolution
 
Do you know what you are testing?
Do you know what you are testing?Do you know what you are testing?
Do you know what you are testing?
 
Great functional testing with WebDriver and Thucydides
Great functional testing with WebDriver and ThucydidesGreat functional testing with WebDriver and Thucydides
Great functional testing with WebDriver and Thucydides
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Why testing take so long
Why testing take so longWhy testing take so long
Why testing take so long
 
Методоллогии Agile
Методоллогии AgileМетодоллогии Agile
Методоллогии Agile
 
Thucydides – next generation acceptance testing with WebDriver
Thucydides – next generation acceptance testing with WebDriverThucydides – next generation acceptance testing with WebDriver
Thucydides – next generation acceptance testing with WebDriver
 

Semelhante a AgileCamp'11 Новосибирск - введение в инженерные практики

Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документации
CEE-SEC(R)
 
Agile. Part 1. Extreme Programming
Agile. Part 1. Extreme ProgrammingAgile. Part 1. Extreme Programming
Agile. Part 1. Extreme Programming
Stephen Vasilevsky
 
Agile тестирование в enterpise проектов: путь трансформации
Agile тестирование в enterpise проектов: путь трансформацииAgile тестирование в enterpise проектов: путь трансформации
Agile тестирование в enterpise проектов: путь трансформации
Andrey Rebrov
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
Gleb Rybalko
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действии
Gleb Rybalko
 

Semelhante a AgileCamp'11 Новосибирск - введение в инженерные практики (20)

Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
 
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документации
 
Agile. Part 1. Extreme Programming
Agile. Part 1. Extreme ProgrammingAgile. Part 1. Extreme Programming
Agile. Part 1. Extreme Programming
 
Agile тестирование в enterpise проектов: путь трансформации
Agile тестирование в enterpise проектов: путь трансформацииAgile тестирование в enterpise проектов: путь трансформации
Agile тестирование в enterpise проектов: путь трансформации
 
Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?
 
Улучшить KPI в два раза? Сделано!
Улучшить KPI в два раза? Сделано!Улучшить KPI в два раза? Сделано!
Улучшить KPI в два раза? Сделано!
 
Рефакторинг
РефакторингРефакторинг
Рефакторинг
 
ReSharper: прошлое и будущее
ReSharper: прошлое и будущееReSharper: прошлое и будущее
ReSharper: прошлое и будущее
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
всё что вы хотели знать о Zend certified
всё что вы хотели знать о Zend certifiedвсё что вы хотели знать о Zend certified
всё что вы хотели знать о Zend certified
 
ReSharper: прошлое и будущее
ReSharper: прошлое и будущееReSharper: прошлое и будущее
ReSharper: прошлое и будущее
 
Как жить в согласии с SOLID?
Как жить в согласии с SOLID?Как жить в согласии с SOLID?
Как жить в согласии с SOLID?
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
О тестировании в EDI
О тестировании в EDIО тестировании в EDI
О тестировании в EDI
 
IT people
IT peopleIT people
IT people
 
Разработка качественного ПО
Разработка качественного ПОРазработка качественного ПО
Разработка качественного ПО
 
SoapUI one key to all doors
SoapUI one key to all doorsSoapUI one key to all doors
SoapUI one key to all doors
 
Промышленная разработка ПО. Лекция 3. Особенности работы программиста. Часть...
Промышленная разработка ПО. Лекция 3. Особенности работы программиста.  Часть...Промышленная разработка ПО. Лекция 3. Особенности работы программиста.  Часть...
Промышленная разработка ПО. Лекция 3. Особенности работы программиста. Часть...
 
Встреча "Front-end: на старт, внимание, разработка!", Сергей Пузанков
 Встреча "Front-end: на старт, внимание, разработка!", Сергей Пузанков Встреча "Front-end: на старт, внимание, разработка!", Сергей Пузанков
Встреча "Front-end: на старт, внимание, разработка!", Сергей Пузанков
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действии
 

Mais de Anton Katkov

AgileDays'14 - Lean Startup, Metrics Driven Development и финансы - смешать, ...
AgileDays'14 - Lean Startup, Metrics Driven Development и финансы - смешать, ...AgileDays'14 - Lean Startup, Metrics Driven Development и финансы - смешать, ...
AgileDays'14 - Lean Startup, Metrics Driven Development и финансы - смешать, ...
Anton Katkov
 
AgileCamp'12 Нижний Новгород: Заключение
AgileCamp'12 Нижний Новгород: ЗаключениеAgileCamp'12 Нижний Новгород: Заключение
AgileCamp'12 Нижний Новгород: Заключение
Anton Katkov
 
XP.Party (iOS) - testable code & architecture
XP.Party (iOS) - testable code & architectureXP.Party (iOS) - testable code & architecture
XP.Party (iOS) - testable code & architecture
Anton Katkov
 
XP.Party (iOS) - unit tests frameworks overview
XP.Party (iOS) - unit tests frameworks overviewXP.Party (iOS) - unit tests frameworks overview
XP.Party (iOS) - unit tests frameworks overview
Anton Katkov
 
AgileDays'12 - Continuous deployment
AgileDays'12 - Continuous deploymentAgileDays'12 - Continuous deployment
AgileDays'12 - Continuous deployment
Anton Katkov
 

Mais de Anton Katkov (9)

AgileDays'14 - современная разработка под iOS
AgileDays'14 - современная разработка под iOSAgileDays'14 - современная разработка под iOS
AgileDays'14 - современная разработка под iOS
 
AgileDays'14 - Lean Startup, Metrics Driven Development и финансы - смешать, ...
AgileDays'14 - Lean Startup, Metrics Driven Development и финансы - смешать, ...AgileDays'14 - Lean Startup, Metrics Driven Development и финансы - смешать, ...
AgileDays'14 - Lean Startup, Metrics Driven Development и финансы - смешать, ...
 
AgileCamp'12 Нижний Новгород: Заключение
AgileCamp'12 Нижний Новгород: ЗаключениеAgileCamp'12 Нижний Новгород: Заключение
AgileCamp'12 Нижний Новгород: Заключение
 
XP.Party (iOS) - testable code & architecture
XP.Party (iOS) - testable code & architectureXP.Party (iOS) - testable code & architecture
XP.Party (iOS) - testable code & architecture
 
XP.Party (iOS) - unit tests frameworks overview
XP.Party (iOS) - unit tests frameworks overviewXP.Party (iOS) - unit tests frameworks overview
XP.Party (iOS) - unit tests frameworks overview
 
AgileDays'12 - Continuous deployment
AgileDays'12 - Continuous deploymentAgileDays'12 - Continuous deployment
AgileDays'12 - Continuous deployment
 
AgileCamp’11 Новосибирск - Test Driven Development (TDD)
AgileCamp’11 Новосибирск - Test Driven Development (TDD)AgileCamp’11 Новосибирск - Test Driven Development (TDD)
AgileCamp’11 Новосибирск - Test Driven Development (TDD)
 
AgileCamp’11 Новосибирск - Continuous Integration (CI)
AgileCamp’11 Новосибирск - Continuous Integration (CI)AgileCamp’11 Новосибирск - Continuous Integration (CI)
AgileCamp’11 Новосибирск - Continuous Integration (CI)
 
AgileCamp'11 Новосибирск - Unit Tests
AgileCamp'11 Новосибирск - Unit TestsAgileCamp'11 Новосибирск - Unit Tests
AgileCamp'11 Новосибирск - Unit Tests
 

AgileCamp'11 Новосибирск - введение в инженерные практики

Notas do Editor

  1. ----- Meeting Notes (03.11.11 02:01) -----рассказать про "правило разбитых окон"