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

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

Dec 03, 2014

Download

Documents

kuchinskaya

 
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: борис вольфсон

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

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

Page 2: борис вольфсон

2

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

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

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

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

Page 3: борис вольфсон

3

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

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

• Выводы

Page 4: борис вольфсон

4

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

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

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

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

Условия

Page 5: борис вольфсон

5

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

Page 6: борис вольфсон

6

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

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

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

Page 7: борис вольфсон

7

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

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

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

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

м сроками

Page 8: борис вольфсон

8

Стоимость

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

Page 9: борис вольфсон

9

Архитектура

Время

Фун

кци

она

л

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

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

Page 10: борис вольфсон

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

Page 11: борис вольфсон

11

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

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

Page 12: борис вольфсон

12

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

Page 13: борис вольфсон

13

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

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

Page 14: борис вольфсон

14

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

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

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

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

Page 15: борис вольфсон

15

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

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

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

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

Page 16: борис вольфсон

16

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

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

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

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

Page 17: борис вольфсон

17

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

Page 18: борис вольфсон

18

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

Плюсы

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

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

Минусы

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

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

Page 19: борис вольфсон

19

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

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

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

Page 20: борис вольфсон

20

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

Плюсы

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

Минусы

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

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

Page 21: борис вольфсон

21

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

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

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

Page 22: борис вольфсон

22

Выводы

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

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

Page 23: борис вольфсон

23

Контакты

[email protected]

• www.twitter.com/borisvolfson

• www.facebook.com/borisvolfson

• borisvolfson

Page 24: борис вольфсон

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

[email protected]

СПАСИБО!