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

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

Upload: boris-volfson

Post on 23-Dec-2014

1.800 views

Category:

Technology


2 download

DESCRIPTION

 

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]

СПАСИБО!