Стратегия сокращения технического долга           Вольфсон Борис
• CTO at HeadHunter• CTO at Softline Development• Автор книги «Гибкие  методологии разработки»• Спикер (несколько десятков...
• Технический долг• Виды технического долга• Стратегии сокращения технического долга  – Технический налог  – Выделенная ко...
УсловияПроекты с длинным • От 2 летжизненным циклом • Периодические релизы                  • 50-200 человекСредние коллек...
•   Design Patterns•   Extreme Programming•   Wiki•   Fit•   Technical Debt                          5
Что стоит относить к техническому долгу?• Архитектурные решения  – «Дешевые» сейчас, «дорогие» потом  – Старые технологии•...
Как появляется технический долг?Быстрее           Качественнее• Жертвуем        • Жертвуем  внутренним        сроками  кач...
СтоимостьСтоимость разработки + Стоимость поддержки                                             8
Архитектура             Хорошая архитектураФункционал                                      Плохая архитектура             ...
«Мертвые фичи»   10
Мелкие баги• Небольшие минорные баги• Не относятся к основному функционалу• Не мешают пользователям  – Пользователи о них ...
Эффект разбитых     окон                  12
Тесты•   «Нет времени писать сейчас, напишем позже»•   Нет понимания влияния тестов на дизайн•   Возрастает хрупкость сист...
Старые технологии1. Старые библиотеки и фреймворки  – Server Side: Apache Torque → Hibernate  – Client Side: Prototype → j...
Алгоритм возврата долгов1. Посчитайте, сколько вы должны2. Определите, как не увеличивать долг3. Выберите стратегию по сок...
Варианты оценок техналога1. Количество технических задач2. Общий размер технических задач3. Эмпирическая оценка задач по р...
Инструменты измерения техдолга                                 17
Выделенная команда       Плюсы                 Минусы• Жестко выделенная    • Плохое  команда без других     распространен...
Технический налог1. Выделенной команды нет2. Все команды тратят N процентов времени на   уменьшение технологического долга...
Технический налог        Плюсы                  Минусы• Распространение      • Сложное планирование  знаний между всеми   ...
Когда действительно стоит брать в долг?1. Близкий релиз с жесткими сроками – Жесткость сроков реальна – Срок релиза ~ неск...
Выводы1. Измеряйте и контролируйте технический долг2. Не увеличивайте, а лучше сокращайте   технический долг              ...
Контакты• borisvolfson@gmail.com• www.twitter.com/borisvolfson• www.facebook.com/borisvolfson• borisvolfson               ...
СПАСИБО!          Борис ВольфсонТехнический директор HeadHunter Group           b.volfson@hh.ru
Upcoming SlideShare
Loading in …5
×

борис вольфсон

1,392 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,392
On SlideShare
0
From Embeds
0
Number of Embeds
775
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

борис вольфсон

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

×