Cтратегия сокращения технического долга
-
Upload
boris-volfson -
Category
Technology
-
view
1.793 -
download
2
description
Transcript of Cтратегия сокращения технического долга
![Page 1: Cтратегия сокращения технического долга](https://reader033.fdocuments.us/reader033/viewer/2022051818/54989698b47959e62f8b45f2/html5/thumbnails/1.jpg)
Стратегия сокращения технического долга
Вольфсон Борис
![Page 2: Cтратегия сокращения технического долга](https://reader033.fdocuments.us/reader033/viewer/2022051818/54989698b47959e62f8b45f2/html5/thumbnails/2.jpg)
2
• CTO at HeadHunter• CTO at Softline Development• Автор книги «Гибкие
методологии разработки»• Спикер (несколько десятков
выступлений)• Опыт тренера
– Более 20 команд– Более 150 человек
![Page 3: Cтратегия сокращения технического долга](https://reader033.fdocuments.us/reader033/viewer/2022051818/54989698b47959e62f8b45f2/html5/thumbnails/3.jpg)
3
• Технический долг• Виды технического долга• Стратегии сокращения технического долга
– Технический налог– Выделенная команда
• Выводы
![Page 4: Cтратегия сокращения технического долга](https://reader033.fdocuments.us/reader033/viewer/2022051818/54989698b47959e62f8b45f2/html5/thumbnails/4.jpg)
4
• От 2 лет• Периодические релизы
Проекты с длинным жизненным циклом
• 50-200 человек• Разбит на небольшие команды
Средние коллектив
Условия
![Page 5: Cтратегия сокращения технического долга](https://reader033.fdocuments.us/reader033/viewer/2022051818/54989698b47959e62f8b45f2/html5/thumbnails/5.jpg)
5
• Design Patterns• Extreme Programming• Wiki• Fit• Technical Debt
![Page 6: Cтратегия сокращения технического долга](https://reader033.fdocuments.us/reader033/viewer/2022051818/54989698b47959e62f8b45f2/html5/thumbnails/6.jpg)
6
Что стоит относить к техническому долгу?• Архитектурные решения
– «Дешевые» сейчас, «дорогие» потом– Старые технологии
• «Мертвые» фичи• Мелкие баги• Тесты
![Page 7: Cтратегия сокращения технического долга](https://reader033.fdocuments.us/reader033/viewer/2022051818/54989698b47959e62f8b45f2/html5/thumbnails/7.jpg)
7
Как появляется технический долг?
Быстрее• Жертвуе
м внутренним качеством
Качественнее• Жертвуе
м сроками
![Page 8: Cтратегия сокращения технического долга](https://reader033.fdocuments.us/reader033/viewer/2022051818/54989698b47959e62f8b45f2/html5/thumbnails/8.jpg)
8
Стоимость
Стоимость разработки + Стоимость поддержки
![Page 9: Cтратегия сокращения технического долга](https://reader033.fdocuments.us/reader033/viewer/2022051818/54989698b47959e62f8b45f2/html5/thumbnails/9.jpg)
9
Архитектура
Время
Фун
кци
она
л
Хорошая архитектура
Плохая архитектура
![Page 10: Cтратегия сокращения технического долга](https://reader033.fdocuments.us/reader033/viewer/2022051818/54989698b47959e62f8b45f2/html5/thumbnails/10.jpg)
10«Мертвые фичи»
![Page 11: Cтратегия сокращения технического долга](https://reader033.fdocuments.us/reader033/viewer/2022051818/54989698b47959e62f8b45f2/html5/thumbnails/11.jpg)
11
Мелкие баги• Небольшие минорные баги• Не относятся к основному функционалу• Не мешают пользователям
– Пользователи о них могут даже и не знать
![Page 12: Cтратегия сокращения технического долга](https://reader033.fdocuments.us/reader033/viewer/2022051818/54989698b47959e62f8b45f2/html5/thumbnails/12.jpg)
12
Эффект разбитых окон
![Page 13: Cтратегия сокращения технического долга](https://reader033.fdocuments.us/reader033/viewer/2022051818/54989698b47959e62f8b45f2/html5/thumbnails/13.jpg)
13
Тесты• «Нет времени писать сейчас, напишем
позже»• Нет понимания влияния тестов на дизайн• Возрастает хрупкость системы• Изменения становятся очень дорогими
![Page 14: Cтратегия сокращения технического долга](https://reader033.fdocuments.us/reader033/viewer/2022051818/54989698b47959e62f8b45f2/html5/thumbnails/14.jpg)
14
Старые технологии
1. Старые библиотеки и фреймворки– Server Side: Apache Torque → Hibernate– Client Side: Prototype → jQuery
2. Обновление библиотек и фреймворков– Lucene 2 → Lucene 3
3. Замена «велосипедов» на готовые библиотеки
![Page 15: Cтратегия сокращения технического долга](https://reader033.fdocuments.us/reader033/viewer/2022051818/54989698b47959e62f8b45f2/html5/thumbnails/15.jpg)
15
Алгоритм возврата долгов
1. Посчитайте, сколько вы должны
2. Определите, как не увеличивать долг
3. Выберите стратегию по сокращению долга
![Page 16: Cтратегия сокращения технического долга](https://reader033.fdocuments.us/reader033/viewer/2022051818/54989698b47959e62f8b45f2/html5/thumbnails/16.jpg)
16
Варианты оценок техналога
1. Количество технических задач
2. Общий размер технических задач
3. Эмпирическая оценка задач по рефакторингу
![Page 17: Cтратегия сокращения технического долга](https://reader033.fdocuments.us/reader033/viewer/2022051818/54989698b47959e62f8b45f2/html5/thumbnails/17.jpg)
17
Инструменты измерения техдолга
![Page 18: Cтратегия сокращения технического долга](https://reader033.fdocuments.us/reader033/viewer/2022051818/54989698b47959e62f8b45f2/html5/thumbnails/18.jpg)
18
Выделенная команда
Плюсы
• Жестко выделенная команда без других задач
• Простота планирования
Минусы
• Плохое распространение заний
• Быстрое «выгорание» команды
![Page 19: Cтратегия сокращения технического долга](https://reader033.fdocuments.us/reader033/viewer/2022051818/54989698b47959e62f8b45f2/html5/thumbnails/19.jpg)
19
Технический налог
1. Выделенной команды нет
2. Все команды тратят N процентов времени на уменьшение технологического долга
![Page 20: Cтратегия сокращения технического долга](https://reader033.fdocuments.us/reader033/viewer/2022051818/54989698b47959e62f8b45f2/html5/thumbnails/20.jpg)
20
Технический налог
Плюсы
• Распространение знаний между всеми командами
Минусы
• Сложное планирование
• Низкий приоритет задач по рефакторингу по сравнению с продуктовыми
![Page 21: Cтратегия сокращения технического долга](https://reader033.fdocuments.us/reader033/viewer/2022051818/54989698b47959e62f8b45f2/html5/thumbnails/21.jpg)
21
Когда действительно стоит брать в долг?
1. Близкий релиз с жесткими сроками– Жесткость сроков реальна– Срок релиза ~ несколько месяцев
2. Заранее выделить время на последующий рефакторинг
![Page 22: Cтратегия сокращения технического долга](https://reader033.fdocuments.us/reader033/viewer/2022051818/54989698b47959e62f8b45f2/html5/thumbnails/22.jpg)
22
Выводы
1. Измеряйте и контролируйте технический долг
2. Не увеличивайте, а лучше сокращайте технический долг
![Page 23: Cтратегия сокращения технического долга](https://reader033.fdocuments.us/reader033/viewer/2022051818/54989698b47959e62f8b45f2/html5/thumbnails/23.jpg)
23
Контакты
• www.twitter.com/borisvolfson
• www.facebook.com/borisvolfson
• borisvolfson