Top Banner
Стратегия сокращения технического долга Вольфсон Борис
24

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

Dec 23, 2014

Download

Technology

Boris Volfson

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Cтратегия сокращения технического долга

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

Вольфсон Борис

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

2

• CTO at HeadHunter• CTO at Softline Development• Автор книги «Гибкие

методологии разработки»• Спикер (несколько десятков

выступлений)• Опыт тренера

– Более 20 команд– Более 150 человек

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

3

• Технический долг• Виды технического долга• Стратегии сокращения технического долга

– Технический налог– Выделенная команда

• Выводы

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

4

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

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

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

Средние коллектив

Условия

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

5

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

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

6

Что стоит относить к техническому долгу?• Архитектурные решения

– «Дешевые» сейчас, «дорогие» потом– Старые технологии

• «Мертвые» фичи• Мелкие баги• Тесты

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

7

Как появляется технический долг?

Быстрее• Жертвуе

м внутренним качеством

Качественнее• Жертвуе

м сроками

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

8

Стоимость

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

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

9

Архитектура

Время

Фун

кци

она

л

Хорошая архитектура

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

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

10«Мертвые фичи»

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

11

Мелкие баги• Небольшие минорные баги• Не относятся к основному функционалу• Не мешают пользователям

– Пользователи о них могут даже и не знать

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

12

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

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

13

Тесты• «Нет времени писать сейчас, напишем

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

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

14

Старые технологии

1. Старые библиотеки и фреймворки– Server Side: Apache Torque → Hibernate– Client Side: Prototype → jQuery

2. Обновление библиотек и фреймворков– Lucene 2 → Lucene 3

3. Замена «велосипедов» на готовые библиотеки

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

15

Алгоритм возврата долгов

1. Посчитайте, сколько вы должны

2. Определите, как не увеличивать долг

3. Выберите стратегию по сокращению долга

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

16

Варианты оценок техналога

1. Количество технических задач

2. Общий размер технических задач

3. Эмпирическая оценка задач по рефакторингу

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

17

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

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

18

Выделенная команда

Плюсы

• Жестко выделенная команда без других задач

• Простота планирования

Минусы

• Плохое распространение заний

• Быстрое «выгорание» команды

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

19

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

1. Выделенной команды нет

2. Все команды тратят N процентов времени на уменьшение технологического долга

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

20

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

Плюсы

• Распространение знаний между всеми командами

Минусы

• Сложное планирование

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

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

21

Когда действительно стоит брать в долг?

1. Близкий релиз с жесткими сроками– Жесткость сроков реальна– Срок релиза ~ несколько месяцев

2. Заранее выделить время на последующий рефакторинг

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

22

Выводы

1. Измеряйте и контролируйте технический долг

2. Не увеличивайте, а лучше сокращайте технический долг

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

23

Контакты

[email protected]

• www.twitter.com/borisvolfson

• www.facebook.com/borisvolfson

• borisvolfson

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

Борис ВольфсонТехнический директор HeadHunter Group

[email protected]

СПАСИБО!