SlideShare a Scribd company logo
1 of 24
Стратегия сокращения технического долга

           Вольфсон Борис
• CTO at HeadHunter
• CTO at Softline Development
• Автор книги «Гибкие
  методологии разработки»
• Спикер (несколько десятков
  выступлений)
• Опыт тренера
  – Более 20 команд
  – Более 150 человек
                                2
• Технический долг
• Виды технического долга
• Стратегии сокращения технического долга
  – Технический налог
  – Выделенная команда
• Выводы

                                            3
Условия

Проекты с длинным • От 2 лет
жизненным циклом • Периодические релизы


                  • 50-200 человек
Средние коллектив
                  • Разбит на небольшие команды

                                                  4
•   Design Patterns
•   Extreme Programming
•   Wiki
•   Fit
•   Technical Debt


                          5
Что стоит относить к техническому долгу?
• Архитектурные решения
  – «Дешевые» сейчас, «дорогие» потом
  – Старые технологии
• «Мертвые» фичи
• Мелкие баги
• Тесты
                                             6
Как появляется технический долг?


Быстрее           Качественнее
• Жертвуем        • Жертвуем
  внутренним        сроками
  качеством



                                   7
Стоимость



Стоимость разработки + Стоимость поддержки



                                             8
Архитектура
             Хорошая архитектура
Функционал




                                      Плохая архитектура




                              Время                        9
«Мертвые фичи»   10
Мелкие баги
• Небольшие минорные баги
• Не относятся к основному функционалу
• Не мешают пользователям
  – Пользователи о них могут
    даже и не знать

                                         11
Эффект разбитых
     окон




                  12
Тесты
•   «Нет времени писать сейчас, напишем позже»
•   Нет понимания влияния тестов на дизайн
•   Возрастает хрупкость системы
•   Изменения становятся очень дорогими


                                            13
Старые технологии
1. Старые библиотеки и фреймворки
  – Server Side: Apache Torque → Hibernate
  – Client Side: Prototype → jQuery
2. Обновление библиотек и фреймворков
  – Lucene 2 → Lucene 3
3. Замена «велосипедов» на готовые
   библиотеки
                                             14
Алгоритм возврата долгов
1. Посчитайте, сколько вы должны
2. Определите, как не увеличивать долг
3. Выберите стратегию по сокращению долга



                                            15
Варианты оценок техналога
1. Количество технических задач
2. Общий размер технических задач
3. Эмпирическая оценка задач по рефакторингу



                                          16
Инструменты измерения техдолга




                                 17
Выделенная команда
       Плюсы                 Минусы

• Жестко выделенная    • Плохое
  команда без других     распространение
  задач                  заний
• Простота             • Быстрое
  планирования           «выгорание»
                         команды
                                           18
Технический налог
1. Выделенной команды нет
2. Все команды тратят N процентов времени на
   уменьшение технологического долга



                                           19
Технический налог

        Плюсы                  Минусы

• Распространение      • Сложное планирование
  знаний между всеми   • Низкий приоритет
  командами              задач по рефакторингу
                         по сравнению с
                         продуктовыми

                                                 20
Когда действительно стоит брать в долг?
1. Близкий релиз с жесткими сроками
 – Жесткость сроков реальна
 – Срок релиза ~ несколько месяцев
2. Заранее выделить время на последующий
   рефакторинг

                                            21
Выводы
1. Измеряйте и контролируйте технический долг
2. Не увеличивайте, а лучше сокращайте
   технический долг



                                           22
Контакты
• borisvolfson@gmail.com

• www.twitter.com/borisvolfson

• www.facebook.com/borisvolfson

• borisvolfson
                                  23
СПАСИБО!
          Борис Вольфсон
Технический директор HeadHunter Group
           b.volfson@hh.ru

More Related Content

What's hot

Cемь смертных грехов в управлении проектами
Cемь смертных грехов в управлении проектамиCемь смертных грехов в управлении проектами
Cемь смертных грехов в управлении проектамиBoris Volfson
 
Киев. Как внедрить SCRUM без трупов и остаться довольным
Киев. Как внедрить SCRUM без трупов и остаться довольнымКиев. Как внедрить SCRUM без трупов и остаться довольным
Киев. Как внедрить SCRUM без трупов и остаться довольнымVladimir Zavertaylov
 
Прагматик. Калугин. Программист-менеджер
Прагматик. Калугин. Программист-менеджерПрагматик. Калугин. Программист-менеджер
Прагматик. Калугин. Программист-менеджерAlexander Kalouguine
 
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoTechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoBadoo Development
 
Agile Vector - внедрение agile разработки в Райффайзенбанке
Agile Vector - внедрение agile разработки в РайффайзенбанкеAgile Vector - внедрение agile разработки в Райффайзенбанке
Agile Vector - внедрение agile разработки в РайффайзенбанкеAlexey Deryushkin
 
Software craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчикаSoftware craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчикаPavel Veinik
 
методики управления развитием ис на базе 1с
методики управления развитием ис на базе 1сметодики управления развитием ис на базе 1с
методики управления развитием ис на базе 1сFFelix87
 
Управление изменениями в сложных информационных системах
 Управление изменениями в сложных информационных системах  Управление изменениями в сложных информационных системах
Управление изменениями в сложных информационных системах Valery Bychkov
 
Методологии разработки по
Методологии разработки поМетодологии разработки по
Методологии разработки поJaneKozmina
 
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-showStas Fomin
 
Денис Тучин - Типичные проблемы ретроспектив (Lean Coffee, 2016.03.11)
Денис Тучин - Типичные проблемы ретроспектив (Lean Coffee, 2016.03.11)Денис Тучин - Типичные проблемы ретроспектив (Lean Coffee, 2016.03.11)
Денис Тучин - Типичные проблемы ретроспектив (Lean Coffee, 2016.03.11)Denis Tuchin
 
Продуктовая платформа, продуктовый аналитик.
Продуктовая платформа, продуктовый аналитик.Продуктовая платформа, продуктовый аналитик.
Продуктовая платформа, продуктовый аналитик.Arseny Kravchenko
 
Ad 2009 - agile в кризис
Ad 2009 - agile в кризисAd 2009 - agile в кризис
Ad 2009 - agile в кризисAlexey Korsun
 
Продуктовая разработка без ошибок
Продуктовая разработка без ошибокПродуктовая разработка без ошибок
Продуктовая разработка без ошибокAnton Chernousov
 
Agile на Смертельном Марше
Agile на Смертельном МаршеAgile на Смертельном Марше
Agile на Смертельном МаршеNikita Filippov
 

What's hot (20)

Cемь смертных грехов в управлении проектами
Cемь смертных грехов в управлении проектамиCемь смертных грехов в управлении проектами
Cемь смертных грехов в управлении проектами
 
Киев. Как внедрить SCRUM без трупов и остаться довольным
Киев. Как внедрить SCRUM без трупов и остаться довольнымКиев. Как внедрить SCRUM без трупов и остаться довольным
Киев. Как внедрить SCRUM без трупов и остаться довольным
 
Развитие ИТ
Развитие ИТРазвитие ИТ
Развитие ИТ
 
2013 — nsk. тос
2013 — nsk. тос2013 — nsk. тос
2013 — nsk. тос
 
Прагматик. Калугин. Программист-менеджер
Прагматик. Калугин. Программист-менеджерПрагматик. Калугин. Программист-менеджер
Прагматик. Калугин. Программист-менеджер
 
Scrum practic
Scrum practicScrum practic
Scrum practic
 
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoTechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, Erlyvideo
 
Agile Vector - внедрение agile разработки в Райффайзенбанке
Agile Vector - внедрение agile разработки в РайффайзенбанкеAgile Vector - внедрение agile разработки в Райффайзенбанке
Agile Vector - внедрение agile разработки в Райффайзенбанке
 
Software craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчикаSoftware craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчика
 
Scrum in simtech
Scrum in simtechScrum in simtech
Scrum in simtech
 
методики управления развитием ис на базе 1с
методики управления развитием ис на базе 1сметодики управления развитием ис на базе 1с
методики управления развитием ис на базе 1с
 
Введение в Scrum
Введение в ScrumВведение в Scrum
Введение в Scrum
 
Управление изменениями в сложных информационных системах
 Управление изменениями в сложных информационных системах  Управление изменениями в сложных информационных системах
Управление изменениями в сложных информационных системах
 
Методологии разработки по
Методологии разработки поМетодологии разработки по
Методологии разработки по
 
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
 
Денис Тучин - Типичные проблемы ретроспектив (Lean Coffee, 2016.03.11)
Денис Тучин - Типичные проблемы ретроспектив (Lean Coffee, 2016.03.11)Денис Тучин - Типичные проблемы ретроспектив (Lean Coffee, 2016.03.11)
Денис Тучин - Типичные проблемы ретроспектив (Lean Coffee, 2016.03.11)
 
Продуктовая платформа, продуктовый аналитик.
Продуктовая платформа, продуктовый аналитик.Продуктовая платформа, продуктовый аналитик.
Продуктовая платформа, продуктовый аналитик.
 
Ad 2009 - agile в кризис
Ad 2009 - agile в кризисAd 2009 - agile в кризис
Ad 2009 - agile в кризис
 
Продуктовая разработка без ошибок
Продуктовая разработка без ошибокПродуктовая разработка без ошибок
Продуктовая разработка без ошибок
 
Agile на Смертельном Марше
Agile на Смертельном МаршеAgile на Смертельном Марше
Agile на Смертельном Марше
 

Viewers also liked

Почему Agile больше не работает
Почему Agile больше не работаетПочему Agile больше не работает
Почему Agile больше не работаетBoris Volfson
 
ITGM#4 Технический долг 2.0
ITGM#4 Технический долг 2.0ITGM#4 Технический долг 2.0
ITGM#4 Технический долг 2.0Maxim Shulga
 
действуй опираясь на ценности а не просто применяй инструменты максим цепков
действуй опираясь на ценности а не просто применяй инструменты максим цепковдействуй опираясь на ценности а не просто применяй инструменты максим цепков
действуй опираясь на ценности а не просто применяй инструменты максим цепковMaxim Tsepkov
 
Управление тестированием в Agile
Управление тестированием в AgileУправление тестированием в Agile
Управление тестированием в AgileAskhat Urazbaev
 
Каждый день спрашивай себя
Каждый день спрашивай себяКаждый день спрашивай себя
Каждый день спрашивай себяEugene Kalinin
 

Viewers also liked (6)

кустар
кустаркустар
кустар
 
Почему Agile больше не работает
Почему Agile больше не работаетПочему Agile больше не работает
Почему Agile больше не работает
 
ITGM#4 Технический долг 2.0
ITGM#4 Технический долг 2.0ITGM#4 Технический долг 2.0
ITGM#4 Технический долг 2.0
 
действуй опираясь на ценности а не просто применяй инструменты максим цепков
действуй опираясь на ценности а не просто применяй инструменты максим цепковдействуй опираясь на ценности а не просто применяй инструменты максим цепков
действуй опираясь на ценности а не просто применяй инструменты максим цепков
 
Управление тестированием в Agile
Управление тестированием в AgileУправление тестированием в Agile
Управление тестированием в Agile
 
Каждый день спрашивай себя
Каждый день спрашивай себяКаждый день спрашивай себя
Каждый день спрашивай себя
 

Similar to Cтратегия сокращения технического долга

2013-02-02 04 Непомнящих. Распределение по проектам без простоев и скамейки…
2013-02-02 04 Непомнящих. Распределение по проектам без простоев и скамейки…2013-02-02 04 Непомнящих. Распределение по проектам без простоев и скамейки…
2013-02-02 04 Непомнящих. Распределение по проектам без простоев и скамейки…Омские ИТ-субботники
 
Slid 3.0 Scrum для практиков на Vsts2008
Slid 3.0 Scrum для практиков на Vsts2008Slid 3.0 Scrum для практиков на Vsts2008
Slid 3.0 Scrum для практиков на Vsts2008Denis Petelin
 
Разработка в долг
Разработка в долгРазработка в долг
Разработка в долгVitebsk Miniq
 
QA Fest 2014. Игорь Бондаренко. Agile crystal. Создание процесса нацеленного ...
QA Fest 2014. Игорь Бондаренко. Agile crystal. Создание процесса нацеленного ...QA Fest 2014. Игорь Бондаренко. Agile crystal. Создание процесса нацеленного ...
QA Fest 2014. Игорь Бондаренко. Agile crystal. Создание процесса нацеленного ...QAFest
 
Nival: Как не увлечься погоней за универсализацией компонент
Nival: Как не увлечься погоней за универсализацией компонентNival: Как не увлечься погоней за универсализацией компонент
Nival: Как не увлечься погоней за универсализацией компонентDevGAMM Conference
 
Развитие IT-организации - от рассвета до заката
Развитие IT-организации - от рассвета до закатаРазвитие IT-организации - от рассвета до заката
Развитие IT-организации - от рассвета до закатаSQALab
 
Александр Жарков — Эволюция команды разработки: взгляд изнутри
Александр Жарков — Эволюция команды разработки: взгляд изнутриАлександр Жарков — Эволюция команды разработки: взгляд изнутри
Александр Жарков — Эволюция команды разработки: взгляд изнутриDaria Oreshkina
 
Методики управления развитием ис на базе 1с
Методики управления развитием ис на базе 1сМетодики управления развитием ис на базе 1с
Методики управления развитием ис на базе 1сHelen Kopteva
 
Agile fundamentals
Agile fundamentalsAgile fundamentals
Agile fundamentalsAnton Zhukov
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileAlexey Krivitsky
 
Опыт реформирования большой команды разработчиков (Сергей Никулин)
Опыт реформирования большой команды разработчиков (Сергей Никулин)Опыт реформирования большой команды разработчиков (Сергей Никулин)
Опыт реформирования большой команды разработчиков (Сергей Никулин)Ontico
 
Доклад на Software People 2013
Доклад на Software People 2013Доклад на Software People 2013
Доклад на Software People 2013Natalia Zhelnova
 
Свод знаний по управлению проектами PMI PMBOK: азбука менеджера проекта
Свод знаний по управлению проектами PMI PMBOK: азбука менеджера проектаСвод знаний по управлению проектами PMI PMBOK: азбука менеджера проекта
Свод знаний по управлению проектами PMI PMBOK: азбука менеджера проектаRauf Aliev
 
управление проектами
управление проектамиуправление проектами
управление проектамиRauf Aliev
 
Алексей Шоркин. Нарезаем растущего слона на бифштексы
Алексей Шоркин. Нарезаем растущего слона на бифштексыАлексей Шоркин. Нарезаем растущего слона на бифштексы
Алексей Шоркин. Нарезаем растущего слона на бифштексыIT Spring
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Ontico
 

Similar to Cтратегия сокращения технического долга (20)

2013-02-02 04 Непомнящих. Распределение по проектам без простоев и скамейки…
2013-02-02 04 Непомнящих. Распределение по проектам без простоев и скамейки…2013-02-02 04 Непомнящих. Распределение по проектам без простоев и скамейки…
2013-02-02 04 Непомнящих. Распределение по проектам без простоев и скамейки…
 
Артемий Анцупов "Agile PMO"
Артемий Анцупов "Agile PMO"Артемий Анцупов "Agile PMO"
Артемий Анцупов "Agile PMO"
 
Slid 3.0 Scrum для практиков на Vsts2008
Slid 3.0 Scrum для практиков на Vsts2008Slid 3.0 Scrum для практиков на Vsts2008
Slid 3.0 Scrum для практиков на Vsts2008
 
Разработка в долг
Разработка в долгРазработка в долг
Разработка в долг
 
QA Fest 2014. Игорь Бондаренко. Agile crystal. Создание процесса нацеленного ...
QA Fest 2014. Игорь Бондаренко. Agile crystal. Создание процесса нацеленного ...QA Fest 2014. Игорь Бондаренко. Agile crystal. Создание процесса нацеленного ...
QA Fest 2014. Игорь Бондаренко. Agile crystal. Создание процесса нацеленного ...
 
Nival: Как не увлечься погоней за универсализацией компонент
Nival: Как не увлечься погоней за универсализацией компонентNival: Как не увлечься погоней за универсализацией компонент
Nival: Как не увлечься погоней за универсализацией компонент
 
Как остаться в заданных рамках и выйти победителем
Как остаться в заданных рамках и выйти победителемКак остаться в заданных рамках и выйти победителем
Как остаться в заданных рамках и выйти победителем
 
Развитие IT-организации - от рассвета до заката
Развитие IT-организации - от рассвета до закатаРазвитие IT-организации - от рассвета до заката
Развитие IT-организации - от рассвета до заката
 
электронный проектный офис
электронный проектный офисэлектронный проектный офис
электронный проектный офис
 
Александр Жарков — Эволюция команды разработки: взгляд изнутри
Александр Жарков — Эволюция команды разработки: взгляд изнутриАлександр Жарков — Эволюция команды разработки: взгляд изнутри
Александр Жарков — Эволюция команды разработки: взгляд изнутри
 
Методики управления развитием ис на базе 1с
Методики управления развитием ис на базе 1сМетодики управления развитием ис на базе 1с
Методики управления развитием ис на базе 1с
 
Agile fundamentals
Agile fundamentalsAgile fundamentals
Agile fundamentals
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с Agile
 
Опыт реформирования большой команды разработчиков (Сергей Никулин)
Опыт реформирования большой команды разработчиков (Сергей Никулин)Опыт реформирования большой команды разработчиков (Сергей Никулин)
Опыт реформирования большой команды разработчиков (Сергей Никулин)
 
Доклад на Software People 2013
Доклад на Software People 2013Доклад на Software People 2013
Доклад на Software People 2013
 
Свод знаний по управлению проектами PMI PMBOK: азбука менеджера проекта
Свод знаний по управлению проектами PMI PMBOK: азбука менеджера проектаСвод знаний по управлению проектами PMI PMBOK: азбука менеджера проекта
Свод знаний по управлению проектами PMI PMBOK: азбука менеджера проекта
 
управление проектами
управление проектамиуправление проектами
управление проектами
 
Критерии выбора системы электронного документооборота
Критерии выбора системы электронного документооборотаКритерии выбора системы электронного документооборота
Критерии выбора системы электронного документооборота
 
Алексей Шоркин. Нарезаем растущего слона на бифштексы
Алексей Шоркин. Нарезаем растущего слона на бифштексыАлексей Шоркин. Нарезаем растущего слона на бифштексы
Алексей Шоркин. Нарезаем растущего слона на бифштексы
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013
 

More from Boris Volfson

Эффективные ретроспективы
Эффективные ретроспективыЭффективные ретроспективы
Эффективные ретроспективыBoris Volfson
 
Проекты 2013 года
Проекты 2013 годаПроекты 2013 года
Проекты 2013 годаBoris Volfson
 
Agile Death March Projects: путь ниндзя
Agile Death March Projects: путь ниндзяAgile Death March Projects: путь ниндзя
Agile Death March Projects: путь ниндзяBoris Volfson
 
Как внедрить Agile за 14 недель
Как внедрить Agile за 14 недельКак внедрить Agile за 14 недель
Как внедрить Agile за 14 недельBoris Volfson
 
Управление рисками
Управление рискамиУправление рисками
Управление рискамиBoris Volfson
 
Сбор и анализ требований в Scrum. Адаптация процесса ICONIX
Сбор и анализ требований в Scrum. Адаптация процесса ICONIXСбор и анализ требований в Scrum. Адаптация процесса ICONIX
Сбор и анализ требований в Scrum. Адаптация процесса ICONIXBoris Volfson
 
Scrum для Product owner'ов
Scrum для Product owner'овScrum для Product owner'ов
Scrum для Product owner'овBoris Volfson
 
Платформы Java и .NET. Современные концепции ООП
Платформы Java и .NET. Современные концепции ООППлатформы Java и .NET. Современные концепции ООП
Платформы Java и .NET. Современные концепции ООПBoris Volfson
 

More from Boris Volfson (9)

Эффективные ретроспективы
Эффективные ретроспективыЭффективные ретроспективы
Эффективные ретроспективы
 
Проекты 2013 года
Проекты 2013 годаПроекты 2013 года
Проекты 2013 года
 
Кайзен
КайзенКайзен
Кайзен
 
Agile Death March Projects: путь ниндзя
Agile Death March Projects: путь ниндзяAgile Death March Projects: путь ниндзя
Agile Death March Projects: путь ниндзя
 
Как внедрить Agile за 14 недель
Как внедрить Agile за 14 недельКак внедрить Agile за 14 недель
Как внедрить Agile за 14 недель
 
Управление рисками
Управление рискамиУправление рисками
Управление рисками
 
Сбор и анализ требований в Scrum. Адаптация процесса ICONIX
Сбор и анализ требований в Scrum. Адаптация процесса ICONIXСбор и анализ требований в Scrum. Адаптация процесса ICONIX
Сбор и анализ требований в Scrum. Адаптация процесса ICONIX
 
Scrum для Product owner'ов
Scrum для Product owner'овScrum для Product owner'ов
Scrum для Product owner'ов
 
Платформы Java и .NET. Современные концепции ООП
Платформы Java и .NET. Современные концепции ООППлатформы Java и .NET. Современные концепции ООП
Платформы Java и .NET. Современные концепции ООП
 

Cтратегия сокращения технического долга

  • 2. • CTO at HeadHunter • CTO at Softline Development • Автор книги «Гибкие методологии разработки» • Спикер (несколько десятков выступлений) • Опыт тренера – Более 20 команд – Более 150 человек 2
  • 3. • Технический долг • Виды технического долга • Стратегии сокращения технического долга – Технический налог – Выделенная команда • Выводы 3
  • 4. Условия Проекты с длинным • От 2 лет жизненным циклом • Периодические релизы • 50-200 человек Средние коллектив • Разбит на небольшие команды 4
  • 5. Design Patterns • Extreme Programming • Wiki • Fit • Technical Debt 5
  • 6. Что стоит относить к техническому долгу? • Архитектурные решения – «Дешевые» сейчас, «дорогие» потом – Старые технологии • «Мертвые» фичи • Мелкие баги • Тесты 6
  • 7. Как появляется технический долг? Быстрее Качественнее • Жертвуем • Жертвуем внутренним сроками качеством 7
  • 8. Стоимость Стоимость разработки + Стоимость поддержки 8
  • 9. Архитектура Хорошая архитектура Функционал Плохая архитектура Время 9
  • 11. Мелкие баги • Небольшие минорные баги • Не относятся к основному функционалу • Не мешают пользователям – Пользователи о них могут даже и не знать 11
  • 13. Тесты • «Нет времени писать сейчас, напишем позже» • Нет понимания влияния тестов на дизайн • Возрастает хрупкость системы • Изменения становятся очень дорогими 13
  • 14. Старые технологии 1. Старые библиотеки и фреймворки – Server Side: Apache Torque → Hibernate – Client Side: Prototype → jQuery 2. Обновление библиотек и фреймворков – Lucene 2 → Lucene 3 3. Замена «велосипедов» на готовые библиотеки 14
  • 15. Алгоритм возврата долгов 1. Посчитайте, сколько вы должны 2. Определите, как не увеличивать долг 3. Выберите стратегию по сокращению долга 15
  • 16. Варианты оценок техналога 1. Количество технических задач 2. Общий размер технических задач 3. Эмпирическая оценка задач по рефакторингу 16
  • 18. Выделенная команда Плюсы Минусы • Жестко выделенная • Плохое команда без других распространение задач заний • Простота • Быстрое планирования «выгорание» команды 18
  • 19. Технический налог 1. Выделенной команды нет 2. Все команды тратят N процентов времени на уменьшение технологического долга 19
  • 20. Технический налог Плюсы Минусы • Распространение • Сложное планирование знаний между всеми • Низкий приоритет командами задач по рефакторингу по сравнению с продуктовыми 20
  • 21. Когда действительно стоит брать в долг? 1. Близкий релиз с жесткими сроками – Жесткость сроков реальна – Срок релиза ~ несколько месяцев 2. Заранее выделить время на последующий рефакторинг 21
  • 22. Выводы 1. Измеряйте и контролируйте технический долг 2. Не увеличивайте, а лучше сокращайте технический долг 22
  • 23. Контакты • borisvolfson@gmail.com • www.twitter.com/borisvolfson • www.facebook.com/borisvolfson • borisvolfson 23
  • 24. СПАСИБО! Борис Вольфсон Технический директор HeadHunter Group b.volfson@hh.ru