legacy vs agile team
DESCRIPTION
Agile Kitchen November 2013 Долгое время наша команда работала с собственным кодом, применяя различные методологии и подходы, писала качественный код и можно сказать жила в раю, но вот настал день, когда изменилось всё☺. Когда мы взяли на поддержку чужой объемный продукт и завязли по колено в легаси. Нам пришлось активно подключить наш agile mindset, чтобы изменить ситуацию и адаптироваться под новые условия. В общем, мы расскажем почему базовые практики того же scrum плохо работают с legacy, что нам пришлось изменить в команде и во взаимоотношениях со стейкхолдерами, и к чему это привело. Ну а если вы еще сомневаетесь, то попробуйте ответить себе на пару следующие вопросов: приходилось ли вам брать на поддержку чужой продукт целиком с его непонятными правилами, устаревшим поведением, неработающим функционалом? Приходилось ли отвечать за него по SLA? Если хотя бы на часть из этих вопросов вы ответили да, то вам точно будет интересен наш доклад, в котором мы расскажем, как наша сплоченная команда выбиралась из этого ада.TRANSCRIPT
![Page 1: Legacy vs Agile Team](https://reader035.vdocuments.site/reader035/viewer/2022062418/55661719d8b42a7d608b4a95/html5/thumbnails/1.jpg)
04/12/2023
Agile Kitchen November 2013
Legacy vs Agile Team
![Page 2: Legacy vs Agile Team](https://reader035.vdocuments.site/reader035/viewer/2022062418/55661719d8b42a7d608b4a95/html5/thumbnails/2.jpg)
Действительно сильная команда ;-)
![Page 3: Legacy vs Agile Team](https://reader035.vdocuments.site/reader035/viewer/2022062418/55661719d8b42a7d608b4a95/html5/thumbnails/3.jpg)
TD
DSCR
UM
SO
LID
CI
CO
DE R
EV
IEW
AG
ILE M
IND
SET
![Page 4: Legacy vs Agile Team](https://reader035.vdocuments.site/reader035/viewer/2022062418/55661719d8b42a7d608b4a95/html5/thumbnails/4.jpg)
Что это дало…
На 90% автоматизированный регресс
Автоматизированная сборка
Минимальный объем технического долгаДокументация
Минимум дефектов
Прогнозируемость
![Page 5: Legacy vs Agile Team](https://reader035.vdocuments.site/reader035/viewer/2022062418/55661719d8b42a7d608b4a95/html5/thumbnails/5.jpg)
Рай для разработчика
![Page 6: Legacy vs Agile Team](https://reader035.vdocuments.site/reader035/viewer/2022062418/55661719d8b42a7d608b4a95/html5/thumbnails/6.jpg)
Scrum работает отлично если вы…
С самого начала …
Используете инженерные практикиПоддерживаете объем тех долг на минимальном уровнеАвтоматизируете регресс
![Page 7: Legacy vs Agile Team](https://reader035.vdocuments.site/reader035/viewer/2022062418/55661719d8b42a7d608b4a95/html5/thumbnails/7.jpg)
Но однажды …
![Page 8: Legacy vs Agile Team](https://reader035.vdocuments.site/reader035/viewer/2022062418/55661719d8b42a7d608b4a95/html5/thumbnails/8.jpg)
Обязательная процедура высмеивания кода
![Page 9: Legacy vs Agile Team](https://reader035.vdocuments.site/reader035/viewer/2022062418/55661719d8b42a7d608b4a95/html5/thumbnails/9.jpg)
Масштаб бедствия
120 сборок
35 000 строк кода
Жестко связанный и расфокусированный код
Полное отсутствие документации
Полное отсутствие тестового плана, автоматизированных тестовДве параллельные активные ветки разработки
Ручная схема сборки дистрибутива
Отсутствие версионирования
Два крупных бизнес-проекта национального масштаба
Жесткий SLA
![Page 10: Legacy vs Agile Team](https://reader035.vdocuments.site/reader035/viewer/2022062418/55661719d8b42a7d608b4a95/html5/thumbnails/10.jpg)
Работа с Legacy Code
![Page 11: Legacy vs Agile Team](https://reader035.vdocuments.site/reader035/viewer/2022062418/55661719d8b42a7d608b4a95/html5/thumbnails/11.jpg)
С чего мы начали
Автоматизация сборки системыВерсионирование
Build-Deploy-Test
Небольшой набор smoke тестов
![Page 12: Legacy vs Agile Team](https://reader035.vdocuments.site/reader035/viewer/2022062418/55661719d8b42a7d608b4a95/html5/thumbnails/12.jpg)
До и после
До После
![Page 13: Legacy vs Agile Team](https://reader035.vdocuments.site/reader035/viewer/2022062418/55661719d8b42a7d608b4a95/html5/thumbnails/13.jpg)
Бомбардировка багами
![Page 14: Legacy vs Agile Team](https://reader035.vdocuments.site/reader035/viewer/2022062418/55661719d8b42a7d608b4a95/html5/thumbnails/14.jpg)
Тех долг
![Page 15: Legacy vs Agile Team](https://reader035.vdocuments.site/reader035/viewer/2022062418/55661719d8b42a7d608b4a95/html5/thumbnails/15.jpg)
Пора остановиться
![Page 16: Legacy vs Agile Team](https://reader035.vdocuments.site/reader035/viewer/2022062418/55661719d8b42a7d608b4a95/html5/thumbnails/16.jpg)
Изменение
Новый функционал
Плановые работы
Исследование и исправление дефектовСнижение технического
долга
Новый функционал
Плановые работы
Комфорт Дискомфорт
До Legacy C Legacy
1 нед 2 нед
Тех. долг
Исслед.дефекто
в
Исправ.дефекто
в
Схема работ по дефектам и тех
долгу
Scrum Scrum
![Page 17: Legacy vs Agile Team](https://reader035.vdocuments.site/reader035/viewer/2022062418/55661719d8b42a7d608b4a95/html5/thumbnails/17.jpg)
Изменение (реальность)
Новый функционал
Плановые работы
Исследование и исправление дефектовСнижение технического
долга
Новый функционал
Плановые работы
Комфорт Дискомфорт
До Legacy C Legacy
1 нед 2 нед
Тех. долг
Исслед.дефекто
в
Исправ.дефекто
в
Схема работ по дефектам и тех
долгу
Scrum Scrum
![Page 18: Legacy vs Agile Team](https://reader035.vdocuments.site/reader035/viewer/2022062418/55661719d8b42a7d608b4a95/html5/thumbnails/18.jpg)
Выводы (Legacy + Scrum)
Разделяйте «физически» работы над новым функционалом и дефектами, тех. долгом
Научитесь говорить «НЕТ», препятствуйте внезапным изменениям плана итерации
Обязательно уделяйте время на минимизацию тех. долга
Будьте максимально прозрачны для стэйкхолдеров