Legacy vs Agile Team

Preview:

DESCRIPTION

Agile Kitchen November 2013 Долгое время наша команда работала с собственным кодом, применяя различные методологии и подходы, писала качественный код и можно сказать жила в раю, но вот настал день, когда изменилось всё☺. Когда мы взяли на поддержку чужой объемный продукт и завязли по колено в легаси. Нам пришлось активно подключить наш agile mindset, чтобы изменить ситуацию и адаптироваться под новые условия. В общем, мы расскажем почему базовые практики того же scrum плохо работают с legacy, что нам пришлось изменить в команде и во взаимоотношениях со стейкхолдерами, и к чему это привело. Ну а если вы еще сомневаетесь, то попробуйте ответить себе на пару следующие вопросов: приходилось ли вам брать на поддержку чужой продукт целиком с его непонятными правилами, устаревшим поведением, неработающим функционалом? Приходилось ли отвечать за него по SLA? Если хотя бы на часть из этих вопросов вы ответили да, то вам точно будет интересен наш доклад, в котором мы расскажем, как наша сплоченная команда выбиралась из этого ада.

Citation preview

04/12/2023

Agile Kitchen November 2013

Legacy vs Agile Team

Действительно сильная команда ;-)

TD

DSCR

UM

SO

LID

CI

CO

DE R

EV

IEW

AG

ILE M

IND

SET

Что это дало…

На 90% автоматизированный регресс

Автоматизированная сборка

Минимальный объем технического долгаДокументация

Минимум дефектов

Прогнозируемость

Рай для разработчика

Scrum работает отлично если вы…

С самого начала …

Используете инженерные практикиПоддерживаете объем тех долг на минимальном уровнеАвтоматизируете регресс

Но однажды …

Обязательная процедура высмеивания кода

Масштаб бедствия

120 сборок

35 000 строк кода

Жестко связанный и расфокусированный код

Полное отсутствие документации

Полное отсутствие тестового плана, автоматизированных тестовДве параллельные активные ветки разработки

Ручная схема сборки дистрибутива

Отсутствие версионирования

Два крупных бизнес-проекта национального масштаба

Жесткий SLA

Работа с Legacy Code

С чего мы начали

Автоматизация сборки системыВерсионирование

Build-Deploy-Test

Небольшой набор smoke тестов

До и после

До После

Бомбардировка багами

Тех долг

Пора остановиться

Изменение

Новый функционал

Плановые работы

Исследование и исправление дефектовСнижение технического

долга

Новый функционал

Плановые работы

Комфорт Дискомфорт

До Legacy C Legacy

1 нед 2 нед

Тех. долг

Исслед.дефекто

в

Исправ.дефекто

в

Схема работ по дефектам и тех

долгу

Scrum Scrum

Изменение (реальность)

Новый функционал

Плановые работы

Исследование и исправление дефектовСнижение технического

долга

Новый функционал

Плановые работы

Комфорт Дискомфорт

До Legacy C Legacy

1 нед 2 нед

Тех. долг

Исслед.дефекто

в

Исправ.дефекто

в

Схема работ по дефектам и тех

долгу

Scrum Scrum

Выводы (Legacy + Scrum)

Разделяйте «физически» работы над новым функционалом и дефектами, тех. долгом

Научитесь говорить «НЕТ», препятствуйте внезапным изменениям плана итерации

Обязательно уделяйте время на минимизацию тех. долга

Будьте максимально прозрачны для стэйкхолдеров

Воронин Алексей

about.me/avoroninfacebook.com/avoronin82alexavoronin@mail.ru